about summary refs log tree commit diff
path: root/src/test/rustdoc
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2021-03-03 16:27:38 +0900
committerGitHub <noreply@github.com>2021-03-03 16:27:38 +0900
commit9a827d9f7e3d0f256f832b6f42f87aefa4648d0a (patch)
treec6528f7f25f1ac63087eb08c9a3e48cc6c1492a8 /src/test/rustdoc
parent35dbef235048f9a2939dc20effe083ca483c37ff (diff)
parent41fc58b7b56cbc1bf70b8928ba053110fa65a34b (diff)
downloadrust-9a827d9f7e3d0f256f832b6f42f87aefa4648d0a.tar.gz
rust-9a827d9f7e3d0f256f832b6f42f87aefa4648d0a.zip
Rollup merge of #81223 - GuillaumeGomez:generate-redirect-map, r=jyn514
[rustdoc] Generate redirect map file

Fixes #81134.

So with this code:

```rust
#![crate_name = "foo"]

pub use private::Quz;
pub use hidden::Bar;

mod private {
    pub struct Quz;
}

#[doc(hidden)]
pub mod hidden {
    pub struct Bar;
}

#[macro_export]
macro_rules! foo {
() => {}
}
```

It generates:

```json
{
  "foo/macro.foo!.html": "foo/macro.foo.html",
  "foo/private/struct.Quz.html": "foo/struct.Quz.html",
  "foo/hidden/struct.Bar.html": "foo/struct.Bar.html"
}
```

Do the pathes look as you expected ````@pietroalbini?````

r? ````@jyn514````
Diffstat (limited to 'src/test/rustdoc')
-rw-r--r--src/test/rustdoc/redirect-map-empty.rs6
-rw-r--r--src/test/rustdoc/redirect-map.rs23
2 files changed, 29 insertions, 0 deletions
diff --git a/src/test/rustdoc/redirect-map-empty.rs b/src/test/rustdoc/redirect-map-empty.rs
new file mode 100644
index 00000000000..e9d021e0fa8
--- /dev/null
+++ b/src/test/rustdoc/redirect-map-empty.rs
@@ -0,0 +1,6 @@
+// compile-flags: -Z unstable-options --generate-redirect-map
+
+#![crate_name = "foo"]
+
+// @!has foo/redirect-map.json
+pub struct Foo;
diff --git a/src/test/rustdoc/redirect-map.rs b/src/test/rustdoc/redirect-map.rs
new file mode 100644
index 00000000000..b7f16b64e38
--- /dev/null
+++ b/src/test/rustdoc/redirect-map.rs
@@ -0,0 +1,23 @@
+// compile-flags: -Z unstable-options --generate-redirect-map
+
+#![crate_name = "foo"]
+
+// @!has foo/private/struct.Quz.html
+// @!has foo/hidden/struct.Bar.html
+// @has foo/redirect-map.json
+pub use private::Quz;
+pub use hidden::Bar;
+
+mod private {
+    pub struct Quz;
+}
+
+#[doc(hidden)]
+pub mod hidden {
+    pub struct Bar;
+}
+
+#[macro_export]
+macro_rules! foo {
+  () => {}
+}