Skip to content

Commit d91a821

Browse files
Remove unneeded trait implementations titles
1 parent dca1470 commit d91a821

File tree

2 files changed

+34
-11
lines changed

2 files changed

+34
-11
lines changed

src/librustdoc/html/render.rs

+19-11
Original file line numberDiff line numberDiff line change
@@ -2274,9 +2274,9 @@ fn render_implementor(cx: &Context, implementor: &Impl, w: &mut fmt::Formatter,
22742274
}
22752275

22762276
fn render_impls(cx: &Context, w: &mut fmt::Formatter,
2277-
traits: Vec<&&Impl>,
2277+
traits: &[&&Impl],
22782278
containing_item: &clean::Item) -> Result<(), fmt::Error> {
2279-
for i in &traits {
2279+
for i in traits {
22802280
let did = i.trait_did().unwrap();
22812281
let assoc_link = AssocItemLink::GotoSource(did, &i.inner_impl().provided_trait_methods);
22822282
render_impl(w, cx, i, assoc_link,
@@ -3172,14 +3172,22 @@ fn render_assoc_items(w: &mut fmt::Formatter,
31723172
.iter()
31733173
.partition::<Vec<_>, _>(|t| t.inner_impl().synthetic);
31743174

3175-
write!(w, "
3176-
<h2 id='implementations' class='small-section-header'>
3177-
Trait Implementations<a href='#implementations' class='anchor'></a>
3178-
</h2>
3179-
<div id='implementations-list'>
3180-
")?;
3181-
render_impls(cx, w, concrete, containing_item)?;
3182-
write!(w, "</div>")?;
3175+
struct RendererStruct<'a, 'b, 'c>(&'a Context, Vec<&'b &'b Impl>, &'c clean::Item);
3176+
3177+
impl<'a, 'b, 'c> fmt::Display for RendererStruct<'a, 'b, 'c> {
3178+
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3179+
render_impls(self.0, fmt, &self.1, self.2)
3180+
}
3181+
}
3182+
3183+
let impls = format!("{}", RendererStruct(cx, concrete, containing_item));
3184+
if !impls.is_empty() {
3185+
write!(w, "
3186+
<h2 id='implementations' class='small-section-header'>
3187+
Trait Implementations<a href='#implementations' class='anchor'></a>
3188+
</h2>
3189+
<div id='implementations-list'>{}</div>", impls)?;
3190+
}
31833191

31843192
if !synthetic.is_empty() {
31853193
write!(w, "
@@ -3188,7 +3196,7 @@ fn render_assoc_items(w: &mut fmt::Formatter,
31883196
</h2>
31893197
<div id='synthetic-implementations-list'>
31903198
")?;
3191-
render_impls(cx, w, synthetic, containing_item)?;
3199+
render_impls(cx, w, &synthetic, containing_item)?;
31923200
write!(w, "</div>")?;
31933201
}
31943202
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#![crate_name = "foo"]
12+
13+
pub struct Bar;
14+
15+
// @!has foo/struct.Bar.html '//*[@id="implementations"]'

0 commit comments

Comments
 (0)