@@ -1780,20 +1780,23 @@ fn render_impl(
1780
1780
1781
1781
let mut impl_items = Buffer :: empty_from ( w) ;
1782
1782
let mut default_impl_items = Buffer :: empty_from ( w) ;
1783
+ let impl_ = i. inner_impl ( ) ;
1783
1784
1784
- for trait_item in & i. inner_impl ( ) . items {
1785
- doc_impl_item (
1786
- & mut default_impl_items,
1787
- & mut impl_items,
1788
- cx,
1789
- trait_item,
1790
- if trait_. is_some ( ) { & i. impl_item } else { parent } ,
1791
- link,
1792
- render_mode,
1793
- false ,
1794
- trait_,
1795
- rendering_params,
1796
- ) ;
1785
+ if !impl_. is_negative_trait_impl ( ) {
1786
+ for trait_item in & impl_. items {
1787
+ doc_impl_item (
1788
+ & mut default_impl_items,
1789
+ & mut impl_items,
1790
+ cx,
1791
+ trait_item,
1792
+ if trait_. is_some ( ) { & i. impl_item } else { parent } ,
1793
+ link,
1794
+ render_mode,
1795
+ false ,
1796
+ trait_,
1797
+ rendering_params,
1798
+ ) ;
1799
+ }
1797
1800
}
1798
1801
1799
1802
fn render_default_items (
@@ -1844,13 +1847,15 @@ fn render_impl(
1844
1847
// We don't emit documentation for default items if they appear in the
1845
1848
// Implementations on Foreign Types or Implementors sections.
1846
1849
if rendering_params. show_default_items {
1847
- if let Some ( t) = trait_ {
1850
+ if let Some ( t) = trait_
1851
+ && !impl_. is_negative_trait_impl ( )
1852
+ {
1848
1853
render_default_items (
1849
1854
& mut default_impl_items,
1850
1855
& mut impl_items,
1851
1856
cx,
1852
1857
t,
1853
- i . inner_impl ( ) ,
1858
+ impl_ ,
1854
1859
& i. impl_item ,
1855
1860
render_mode,
1856
1861
rendering_params,
@@ -1882,7 +1887,7 @@ fn render_impl(
1882
1887
}
1883
1888
1884
1889
if let Some ( ref dox) = i. impl_item . opt_doc_value ( ) {
1885
- if trait_. is_none ( ) && i . inner_impl ( ) . items . is_empty ( ) {
1890
+ if trait_. is_none ( ) && impl_ . items . is_empty ( ) {
1886
1891
w. write_str (
1887
1892
"<div class=\" item-info\" >\
1888
1893
<div class=\" stab empty-impl\" >This impl block contains no items.</div>\
0 commit comments