about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Middleton <olliemail27@gmail.com>2016-06-28 22:50:44 +0100
committerOliver Middleton <olliemail27@gmail.com>2016-06-28 22:53:50 +0100
commitf05da01dbe3ce8e7460a1d47d489f85a1fa1cbb7 (patch)
tree905a07742aa4e359e06bcef4899b5c60f8f6171b
parent126af085be2b760b859d073d8aff164572ef7d4a (diff)
downloadrust-f05da01dbe3ce8e7460a1d47d489f85a1fa1cbb7.tar.gz
rust-f05da01dbe3ce8e7460a1d47d489f85a1fa1cbb7.zip
rustdoc: Fix empty Implementations section on some module pages
These are caused by `DefaultImpl`s.
-rw-r--r--src/librustdoc/html/render.rs3
-rw-r--r--src/test/rustdoc/module-impls.rs15
2 files changed, 18 insertions, 0 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index f63d37b3403..48acf31b993 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -1696,6 +1696,9 @@ fn item_module(w: &mut fmt::Formatter, cx: &Context,
     document(w, cx, item)?;
 
     let mut indices = (0..items.len()).filter(|i| {
+        if let clean::DefaultImplItem(..) = items[*i].inner {
+            return false;
+        }
         !cx.maybe_ignore_item(&items[*i])
     }).collect::<Vec<usize>>();
 
diff --git a/src/test/rustdoc/module-impls.rs b/src/test/rustdoc/module-impls.rs
new file mode 100644
index 00000000000..7be3c500731
--- /dev/null
+++ b/src/test/rustdoc/module-impls.rs
@@ -0,0 +1,15 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name = "foo"]
+
+pub use std::marker::Send;
+
+// @!has foo/index.html 'Implementations'