about summary refs log tree commit diff
path: root/tests/rustdoc
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2023-07-10 14:10:26 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2023-07-24 17:07:57 +0200
commit298cd366d510bbcdf3fd061debd6bb011e681ad1 (patch)
tree2d366f09115be243c7362119166a378baddb6674 /tests/rustdoc
parent9fb65489057ca6f4e240c6f0c373127d06da316d (diff)
downloadrust-298cd366d510bbcdf3fd061debd6bb011e681ad1.tar.gz
rust-298cd366d510bbcdf3fd061debd6bb011e681ad1.zip
Add test for private items
Diffstat (limited to 'tests/rustdoc')
-rw-r--r--tests/rustdoc/issue-81141-private-reexport-in-public-api-private.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/rustdoc/issue-81141-private-reexport-in-public-api-private.rs b/tests/rustdoc/issue-81141-private-reexport-in-public-api-private.rs
new file mode 100644
index 00000000000..15749674a3d
--- /dev/null
+++ b/tests/rustdoc/issue-81141-private-reexport-in-public-api-private.rs
@@ -0,0 +1,32 @@
+// compile-flags: --document-private-items
+
+#![crate_name = "foo"]
+
+use crate::bar::Bar as Alias;
+pub(crate) use crate::bar::Bar as CrateAlias;
+
+mod bar {
+    pub struct Bar;
+    pub use self::Bar as Inner;
+}
+
+// It's a fully private re-export so it should not be displayed.
+// @has 'foo/fn.bar.html'
+// @has - '//*[@class="rust item-decl"]/code' 'pub fn bar() -> Bar'
+pub fn bar() -> Alias {
+    Alias
+}
+
+// It's public re-export inside a private module so it should be visible.
+// @has 'foo/fn.bar2.html'
+// @has - '//*[@class="rust item-decl"]/code' 'pub fn bar2() -> Inner'
+pub fn bar2() -> crate::bar::Inner {
+    Alias
+}
+
+// It's a non-public, so it doesn't appear in documentation so it should not be visible.
+// @has 'foo/fn.bar3.html'
+// @has - '//*[@class="rust item-decl"]/code' 'pub fn bar3() -> Bar'
+pub fn bar3() -> CrateAlias {
+    Alias
+}