about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDennis Hamester <dennis.hamester@gmail.com>2020-07-11 09:26:26 +0200
committerDennis Hamester <dennis.hamester@gmail.com>2020-07-11 09:26:26 +0200
commit689e360d8273ed13e433ce3e7ae1046e33894234 (patch)
treedad4cd132a99b59bfbe086af54fb46fe8ad67099
parentc8b16cdbd0f06c66467c082b9d3e190255fa295d (diff)
downloadrust-689e360d8273ed13e433ce3e7ae1046e33894234.tar.gz
rust-689e360d8273ed13e433ce3e7ae1046e33894234.zip
test: rustdoc-ui: Add issue-74134, replacing test/rustdoc/issue-74134-*
As per the discussion in PR #74147, the 4 individual tests are replaced by a
single one.

The test is expanded to cover all 4 public/private cases, each with and without
--document-private-items.
-rw-r--r--src/test/rustdoc-ui/issue-74134.public.stderr10
-rw-r--r--src/test/rustdoc-ui/issue-74134.rs26
-rw-r--r--src/test/rustdoc/issue-74134-1.rs10
-rw-r--r--src/test/rustdoc/issue-74134-2.rs11
-rw-r--r--src/test/rustdoc/issue-74134-3.rs11
-rw-r--r--src/test/rustdoc/issue-74134-4.rs11
6 files changed, 36 insertions, 43 deletions
diff --git a/src/test/rustdoc-ui/issue-74134.public.stderr b/src/test/rustdoc-ui/issue-74134.public.stderr
new file mode 100644
index 00000000000..03f95f19d32
--- /dev/null
+++ b/src/test/rustdoc-ui/issue-74134.public.stderr
@@ -0,0 +1,10 @@
+warning: `[PrivateType]` public documentation for `public_item` links to a private item
+  --> $DIR/issue-74134.rs:19:10
+   |
+LL |     /// [`PrivateType`]
+   |          ^^^^^^^^^^^^^ this item is private
+   |
+   = note: `#[warn(intra_doc_link_resolution_failure)]` on by default
+
+warning: 1 warning emitted
+
diff --git a/src/test/rustdoc-ui/issue-74134.rs b/src/test/rustdoc-ui/issue-74134.rs
new file mode 100644
index 00000000000..d0747817580
--- /dev/null
+++ b/src/test/rustdoc-ui/issue-74134.rs
@@ -0,0 +1,26 @@
+// revisions: public private
+// [private]compile-flags: --document-private-items
+// check-pass
+
+// There are 4 cases here:
+// 1. public item  -> public type:  no warning
+// 2. public item  -> private type: warning, if --document-private-items is not passed
+// 3. private item -> public type:  no warning
+// 4. private item -> private type: no warning
+// All 4 cases are tested with and without --document-private-items.
+//
+// Case 4 without --document-private-items is the one described in issue #74134.
+
+struct PrivateType;
+pub struct PublicType;
+
+pub struct Public {
+    /// [`PublicType`]
+    /// [`PrivateType`]
+    //[public]~^ WARNING `[PrivateType]` public documentation for `public_item` links to a private item
+    pub public_item: u32,
+
+    /// [`PublicType`]
+    /// [`PrivateType`]
+    private_item: u32,
+}
diff --git a/src/test/rustdoc/issue-74134-1.rs b/src/test/rustdoc/issue-74134-1.rs
deleted file mode 100644
index 72d38638a79..00000000000
--- a/src/test/rustdoc/issue-74134-1.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-#![deny(intra_doc_link_resolution_failure)]
-
-// Linking from a private item to a private type is fine without --document-private-items.
-
-struct Private;
-
-pub struct Public {
-    /// [`Private`]
-    private: Private,
-}
diff --git a/src/test/rustdoc/issue-74134-2.rs b/src/test/rustdoc/issue-74134-2.rs
deleted file mode 100644
index f665e360b49..00000000000
--- a/src/test/rustdoc/issue-74134-2.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// compile-flags: --document-private-items
-#![deny(intra_doc_link_resolution_failure)]
-
-// Linking from a private item to a private type is fine with --document-private-items.
-
-struct Private;
-
-pub struct Public {
-    /// [`Private`]
-    private: Private,
-}
diff --git a/src/test/rustdoc/issue-74134-3.rs b/src/test/rustdoc/issue-74134-3.rs
deleted file mode 100644
index b2709ecdadd..00000000000
--- a/src/test/rustdoc/issue-74134-3.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// should-fail
-#![deny(intra_doc_link_resolution_failure)]
-
-// Linking from a public item to a private type fails without --document-private-items.
-
-struct Private;
-
-pub struct Public {
-    /// [`Private`]
-    pub public: u32,
-}
diff --git a/src/test/rustdoc/issue-74134-4.rs b/src/test/rustdoc/issue-74134-4.rs
deleted file mode 100644
index efff74f2797..00000000000
--- a/src/test/rustdoc/issue-74134-4.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// compile-flags: --document-private-items
-#![deny(intra_doc_link_resolution_failure)]
-
-// Linking from a public item to a private type is fine with --document-private-items.
-
-struct Private;
-
-pub struct Public {
-    /// [`Private`]
-    pub public: u32,
-}