about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoshua Nelson <jyn514@gmail.com>2020-06-07 21:48:31 -0400
committerJoshua Nelson <jyn514@gmail.com>2020-07-16 18:26:57 -0400
commite78d499637761efceebf6f9cb8ab317a31541ec7 (patch)
treecbed866ff469fdde42804173f9b2c234ca381e59
parent99f34d814e87e33e014433f791a13db3a3bd2273 (diff)
downloadrust-e78d499637761efceebf6f9cb8ab317a31541ec7.tar.gz
rust-e78d499637761efceebf6f9cb8ab317a31541ec7.zip
Add test for re-exports
I had a hard time getting this to work without the `extern crate`,
suggestions are welcome.
-rw-r--r--src/test/rustdoc/intra-doc-crate/auxiliary/submodule.rs12
-rw-r--r--src/test/rustdoc/intra-doc-crate/basic.rs2
-rw-r--r--src/test/rustdoc/intra-doc-crate/submodule.rs14
3 files changed, 28 insertions, 0 deletions
diff --git a/src/test/rustdoc/intra-doc-crate/auxiliary/submodule.rs b/src/test/rustdoc/intra-doc-crate/auxiliary/submodule.rs
new file mode 100644
index 00000000000..dfc8685f384
--- /dev/null
+++ b/src/test/rustdoc/intra-doc-crate/auxiliary/submodule.rs
@@ -0,0 +1,12 @@
+#![crate_name = "bar"]
+
+pub trait Foo {
+    /// [`Bar`] [`Baz`]
+    fn foo();
+}
+
+pub trait Bar {
+}
+
+pub trait Baz {
+}
diff --git a/src/test/rustdoc/intra-doc-crate/basic.rs b/src/test/rustdoc/intra-doc-crate/basic.rs
index dd32908714f..3fb72b2b497 100644
--- a/src/test/rustdoc/intra-doc-crate/basic.rs
+++ b/src/test/rustdoc/intra-doc-crate/basic.rs
@@ -1,5 +1,7 @@
 // aux-build:intra-doc-basic.rs
 // build-aux-docs
+
+// from https://github.com/rust-lang/rust/issues/65983
 extern crate a;
 
 // @has 'basic/struct.Bar.html' '//a[@href="../a/struct.Foo.html"]' 'Foo'
diff --git a/src/test/rustdoc/intra-doc-crate/submodule.rs b/src/test/rustdoc/intra-doc-crate/submodule.rs
new file mode 100644
index 00000000000..5caa220b570
--- /dev/null
+++ b/src/test/rustdoc/intra-doc-crate/submodule.rs
@@ -0,0 +1,14 @@
+// aux-build:submodule.rs
+// edition:2018
+extern crate bar as bar_;
+
+// from https://github.com/rust-lang/rust/issues/60883
+pub mod bar {
+    pub use ::bar_::Bar;
+}
+
+// NOTE: we re-exported both `Foo` and `Bar` here,
+// NOTE: so they are inlined and therefore we link to the current module.
+// @has 'submodule/trait.Foo.html' '//a[@href="../submodule/bar/trait.Bar.html"]' 'Bar'
+// @has 'submodule/trait.Foo.html' '//a[@href="../submodule/trait.Baz.html"]' 'Baz'
+pub use ::bar_::{Foo, Baz};