about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2018-03-09 22:18:08 +0100
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2018-03-09 22:18:08 +0100
commit7dc71ec009ffce75142b2987374401b50a3a194c (patch)
treea15b45c21228705ca224a1b82aa025771ee734fd
parentfedce67cd21dc08ece5a484fe1a060346acac98a (diff)
downloadrust-7dc71ec009ffce75142b2987374401b50a3a194c.tar.gz
rust-7dc71ec009ffce75142b2987374401b50a3a194c.zip
Remove auto trait implementation section when empty
-rw-r--r--src/librustdoc/html/render.rs18
-rw-r--r--src/test/rustdoc/empty-section.rs20
2 files changed, 30 insertions, 8 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index 6945a6f3724..84f693a3be5 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -3181,14 +3181,16 @@ fn render_assoc_items(w: &mut fmt::Formatter,
         render_impls(cx, w, concrete, containing_item)?;
         write!(w, "</div>")?;
 
-        write!(w, "
-            <h2 id='synthetic-implementations' class='small-section-header'>
-              Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
-            </h2>
-            <div id='synthetic-implementations-list'>
-        ")?;
-        render_impls(cx, w, synthetic, containing_item)?;
-        write!(w, "</div>")?;
+        if !synthetic.is_empty() {
+            write!(w, "
+                <h2 id='synthetic-implementations' class='small-section-header'>
+                  Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
+                </h2>
+                <div id='synthetic-implementations-list'>
+            ")?;
+            render_impls(cx, w, synthetic, containing_item)?;
+            write!(w, "</div>")?;
+        }
     }
     Ok(())
 }
diff --git a/src/test/rustdoc/empty-section.rs b/src/test/rustdoc/empty-section.rs
new file mode 100644
index 00000000000..3748313593f
--- /dev/null
+++ b/src/test/rustdoc/empty-section.rs
@@ -0,0 +1,20 @@
+// Copyright 2017 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"]
+
+#![feature(optin_builtin_traits)]
+
+pub struct Foo;
+
+// @has foo/struct.Foo.html
+// @!has - '//*[@class="synthetic-implementations"]' 'Auto Trait Implementations'
+impl !Send for Foo {}
+impl !Sync for Foo {}