about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2018-04-17 18:43:17 +0200
committerGitHub <noreply@github.com>2018-04-17 18:43:17 +0200
commit92d29c1267cffd65e80648ea463221f765236ebb (patch)
tree9e9bc87c0b5f8a161a6eebf3f8c8011027b603d7
parent6f5fc47ccc47319151203fbfde4b2692863c44a0 (diff)
parentabded6111bcdaf53a74abb5188d81708180a364f (diff)
downloadrust-92d29c1267cffd65e80648ea463221f765236ebb.tar.gz
rust-92d29c1267cffd65e80648ea463221f765236ebb.zip
Rollup merge of #50032 - ollie27:rustdoc_all_private, r=GuillaumeGomez
rustdoc: Don't include private paths in all.html

For example the `std` [`all.html`](https://doc.rust-lang.org/nightly/std/all.html) includes references to the `coresimd` module which is a private implementation detail.

r? @GuillaumeGomez
-rw-r--r--src/librustdoc/html/render.rs4
-rw-r--r--src/test/rustdoc/all.rs8
2 files changed, 11 insertions, 1 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index abeaef723d4..651319743aa 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -1728,7 +1728,9 @@ impl Context {
                 let mut dst = try_err!(File::create(&joint_dst), &joint_dst);
                 try_err!(dst.write_all(&buf), &joint_dst);
 
-                all.append(full_path(self, &item), &item_type);
+                if !self.render_redirect_pages {
+                    all.append(full_path(self, &item), &item_type);
+                }
                 // Redirect from a sane URL using the namespace to Rustdoc's
                 // URL for the page.
                 let redir_name = format!("{}.{}.html", name, item_type.name_space());
diff --git a/src/test/rustdoc/all.rs b/src/test/rustdoc/all.rs
index ec391319b18..1969cf859ee 100644
--- a/src/test/rustdoc/all.rs
+++ b/src/test/rustdoc/all.rs
@@ -28,3 +28,11 @@ pub union Union {
 pub const CONST: u32 = 0;
 pub static STATIC: &str = "baguette";
 pub fn function() {}
+
+mod private_module {
+    pub struct ReexportedStruct;
+}
+
+// @has foo/all.html '//a[@href="struct.ReexportedStruct.html"]' 'ReexportedStruct'
+// @!has foo/all.html 'private_module'
+pub use private_module::ReexportedStruct;