diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2018-03-09 22:18:08 +0100 | 
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2018-03-09 22:18:08 +0100 | 
| commit | 7dc71ec009ffce75142b2987374401b50a3a194c (patch) | |
| tree | a15b45c21228705ca224a1b82aa025771ee734fd | |
| parent | fedce67cd21dc08ece5a484fe1a060346acac98a (diff) | |
| download | rust-7dc71ec009ffce75142b2987374401b50a3a194c.tar.gz rust-7dc71ec009ffce75142b2987374401b50a3a194c.zip | |
Remove auto trait implementation section when empty
| -rw-r--r-- | src/librustdoc/html/render.rs | 18 | ||||
| -rw-r--r-- | src/test/rustdoc/empty-section.rs | 20 | 
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 {} | 
