@@ -3066,7 +3066,7 @@ fn render_implementor(cx: &Context, implementor: &Impl, w: &mut fmt::Formatter<'
30663066 _ => false ,
30673067 } ;
30683068 render_impl ( w, cx, implementor, AssocItemLink :: Anchor ( None ) , RenderMode :: Normal ,
3069- implementor. impl_item . stable_since ( ) , false , Some ( use_absolute) , false ) ?;
3069+ implementor. impl_item . stable_since ( ) , false , Some ( use_absolute) , false , false ) ?;
30703070 Ok ( ( ) )
30713071}
30723072
@@ -3077,7 +3077,7 @@ fn render_impls(cx: &Context, w: &mut fmt::Formatter<'_>,
30773077 let did = i. trait_did ( ) . unwrap ( ) ;
30783078 let assoc_link = AssocItemLink :: GotoSource ( did, & i. inner_impl ( ) . provided_trait_methods ) ;
30793079 render_impl ( w, cx, i, assoc_link,
3080- RenderMode :: Normal , containing_item. stable_since ( ) , true , None , false ) ?;
3080+ RenderMode :: Normal , containing_item. stable_since ( ) , true , None , false , true ) ?;
30813081 }
30823082 Ok ( ( ) )
30833083}
@@ -3307,7 +3307,7 @@ fn item_trait(
33073307 ) ;
33083308 render_impl ( w, cx, & implementor, assoc_link,
33093309 RenderMode :: Normal , implementor. impl_item . stable_since ( ) , false ,
3310- None , true ) ?;
3310+ None , true , false ) ?;
33113311 }
33123312 write_loading_content ( w, "" ) ?;
33133313 }
@@ -3979,7 +3979,7 @@ fn render_assoc_items(w: &mut fmt::Formatter<'_>,
39793979 } ;
39803980 for i in & non_trait {
39813981 render_impl ( w, cx, i, AssocItemLink :: Anchor ( None ) , render_mode,
3982- containing_item. stable_since ( ) , true , None , false ) ?;
3982+ containing_item. stable_since ( ) , true , None , false , true ) ?;
39833983 }
39843984 }
39853985 if let AssocItemRender :: DerefFor { .. } = what {
@@ -4161,7 +4161,8 @@ fn spotlight_decl(decl: &clean::FnDecl) -> Result<String, fmt::Error> {
41614161
41624162fn render_impl ( w : & mut fmt:: Formatter < ' _ > , cx : & Context , i : & Impl , link : AssocItemLink < ' _ > ,
41634163 render_mode : RenderMode , outer_version : Option < & str > , show_def_docs : bool ,
4164- use_absolute : Option < bool > , is_on_foreign_type : bool ) -> fmt:: Result {
4164+ use_absolute : Option < bool > , is_on_foreign_type : bool ,
4165+ show_default_items : bool ) -> fmt:: Result {
41654166 if render_mode == RenderMode :: Normal {
41664167 let id = cx. derive_id ( match i. inner_impl ( ) . trait_ {
41674168 Some ( ref t) => if is_on_foreign_type {
@@ -4345,9 +4346,13 @@ fn render_impl(w: &mut fmt::Formatter<'_>, cx: &Context, i: &Impl, link: AssocIt
43454346
43464347 // If we've implemented a trait, then also emit documentation for all
43474348 // default items which weren't overridden in the implementation block.
4348- if let Some ( t) = trait_ {
4349- render_default_items ( w, cx, t, & i. inner_impl ( ) ,
4350- render_mode, outer_version, show_def_docs) ?;
4349+ // We don't emit documentation for default items if they appear in the
4350+ // Implementations on Foreign Types or Implementors sections.
4351+ if show_default_items {
4352+ if let Some ( t) = trait_ {
4353+ render_default_items ( w, cx, t, & i. inner_impl ( ) ,
4354+ render_mode, outer_version, show_def_docs) ?;
4355+ }
43514356 }
43524357 write ! ( w, "</div>" ) ?;
43534358
0 commit comments