From e78d499637761efceebf6f9cb8ab317a31541ec7 Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Sun, 7 Jun 2020 21:48:31 -0400 Subject: [PATCH] Add test for re-exports I had a hard time getting this to work without the `extern crate`, suggestions are welcome. --- .../rustdoc/intra-doc-crate/auxiliary/submodule.rs | 12 ++++++++++++ src/test/rustdoc/intra-doc-crate/basic.rs | 2 ++ src/test/rustdoc/intra-doc-crate/submodule.rs | 14 ++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 src/test/rustdoc/intra-doc-crate/auxiliary/submodule.rs create mode 100644 src/test/rustdoc/intra-doc-crate/submodule.rs 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 000000000000..dfc8685f3842 --- /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 dd32908714f4..3fb72b2b497f 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 000000000000..5caa220b570f --- /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};