diff options
| author | Oliver Middleton <olliemail27@gmail.com> | 2018-09-09 18:27:05 +0100 |
|---|---|---|
| committer | Oliver Middleton <olliemail27@gmail.com> | 2018-09-09 18:27:05 +0100 |
| commit | d3e56854e1746dd853404d98dfdcbfb89cf9a294 (patch) | |
| tree | cf37cd8f78ce82d1efa5d754a8a02876a0e9738f /src/librustdoc/html | |
| parent | df6ba0c4acceb5f63090bb20bd23f29c4f439376 (diff) | |
| download | rust-d3e56854e1746dd853404d98dfdcbfb89cf9a294.tar.gz rust-d3e56854e1746dd853404d98dfdcbfb89cf9a294.zip | |
rustdoc: Remove generated blanket impls from trait pages
Diffstat (limited to 'src/librustdoc/html')
| -rw-r--r-- | src/librustdoc/html/render.rs | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 972c2f0e15c..45a5e5115a3 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1257,9 +1257,11 @@ impl DocFolder for Cache { // Collect all the implementors of traits. if let clean::ImplItem(ref i) = item.inner { if let Some(did) = i.trait_.def_id() { - self.implementors.entry(did).or_default().push(Impl { - impl_item: item.clone(), - }); + if i.blanket_impl.is_none() { + self.implementors.entry(did).or_default().push(Impl { + impl_item: item.clone(), + }); + } } } @@ -2931,7 +2933,6 @@ fn item_trait( let (synthetic, concrete): (Vec<&&Impl>, Vec<&&Impl>) = local.iter() - .filter(|i| i.inner_impl().blanket_impl.is_none()) .partition(|i| i.inner_impl().synthetic); if !foreign.is_empty() { @@ -2941,17 +2942,14 @@ fn item_trait( </h2> ")?; - let mut foreign_cache = FxHashSet(); for implementor in foreign { - if foreign_cache.insert(implementor.inner_impl().to_string()) { - let assoc_link = AssocItemLink::GotoSource( - implementor.impl_item.def_id, - &implementor.inner_impl().provided_trait_methods - ); - render_impl(w, cx, &implementor, assoc_link, - RenderMode::Normal, implementor.impl_item.stable_since(), false, - None)?; - } + let assoc_link = AssocItemLink::GotoSource( + implementor.impl_item.def_id, + &implementor.inner_impl().provided_trait_methods + ); + render_impl(w, cx, &implementor, assoc_link, + RenderMode::Normal, implementor.impl_item.stable_since(), false, + None)?; } } |
