about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-01-29 09:34:48 +0900
committerGitHub <noreply@github.com>2020-01-29 09:34:48 +0900
commitedfa0f43458af676e6475bacb281564bcf4b0c85 (patch)
tree93f8d61df90739f0564d7f6c2753b2443cb55872 /src/test
parent85f324004e2936fde4d409d9d7f9451d829cb20d (diff)
parentbbc2ae7590ad53fca02fda187e7f9c2470c9e949 (diff)
downloadrust-edfa0f43458af676e6475bacb281564bcf4b0c85.tar.gz
rust-edfa0f43458af676e6475bacb281564bcf4b0c85.zip
Rollup merge of #68556 - ollie27:rustdoc_primitive_re-export, r=GuillaumeGomez
rustdoc: Fix re-exporting primitive types

* Generate links to the primitive type docs for re-exports.
* Don't ICE on cross crate primitive type re-exports.
* Make primitive type re-exports show up cross crate.

Fixes #67646
Closes #67972

r? @GuillaumeGomez
Diffstat (limited to 'src/test')
-rw-r--r--src/test/rustdoc/auxiliary/primitive-reexport.rs8
-rw-r--r--src/test/rustdoc/primitive-reexport.rs28
2 files changed, 36 insertions, 0 deletions
diff --git a/src/test/rustdoc/auxiliary/primitive-reexport.rs b/src/test/rustdoc/auxiliary/primitive-reexport.rs
new file mode 100644
index 00000000000..b2e9fa43b39
--- /dev/null
+++ b/src/test/rustdoc/auxiliary/primitive-reexport.rs
@@ -0,0 +1,8 @@
+// compile-flags: --emit metadata --crate-type lib --edition 2018
+
+#![crate_name = "foo"]
+
+pub mod bar {
+    pub use bool;
+    pub use char as my_char;
+}
diff --git a/src/test/rustdoc/primitive-reexport.rs b/src/test/rustdoc/primitive-reexport.rs
new file mode 100644
index 00000000000..de18360d407
--- /dev/null
+++ b/src/test/rustdoc/primitive-reexport.rs
@@ -0,0 +1,28 @@
+// aux-build: primitive-reexport.rs
+// compile-flags:--extern foo --edition 2018
+
+#![crate_name = "bar"]
+
+// @has bar/p/index.html
+// @has - '//code' 'pub use bool;'
+// @has - '//code/a[@href="https://doc.rust-lang.org/nightly/std/primitive.bool.html"]' 'bool'
+// @has - '//code' 'pub use char as my_char;'
+// @has - '//code/a[@href="https://doc.rust-lang.org/nightly/std/primitive.char.html"]' 'char'
+pub mod p {
+    pub use foo::bar::*;
+}
+
+// @has bar/baz/index.html
+// @has - '//code' 'pub use bool;'
+// @has - '//code/a[@href="https://doc.rust-lang.org/nightly/std/primitive.bool.html"]' 'bool'
+// @has - '//code' 'pub use char as my_char;'
+// @has - '//code/a[@href="https://doc.rust-lang.org/nightly/std/primitive.char.html"]' 'char'
+pub use foo::bar as baz;
+
+// @has bar/index.html
+// @has - '//code' 'pub use str;'
+// @has - '//code/a[@href="https://doc.rust-lang.org/nightly/std/primitive.str.html"]' 'str'
+// @has - '//code' 'pub use i32 as my_i32;'
+// @has - '//code/a[@href="https://doc.rust-lang.org/nightly/std/primitive.i32.html"]' 'i32'
+pub use str;
+pub use i32 as my_i32;