//@ compile-flags: --document-private-items #![feature(inherent_associated_types)] #![allow(incomplete_features)] #![crate_name = "foo"] // @has 'foo/struct.Foo.html' pub struct Foo; // There are 3 impl blocks with public item and one that should not be displayed // by default because it only contains private items (but not in this case because // we used `--document-private-items`). // @count - '//*[@class="impl"]' 'impl Foo' 4 // Impl block only containing private items should not be displayed unless the // `--document-private-items` flag is used. /// Private impl Foo { const BAR: u32 = 0; type FOO = i32; fn hello() {} } // But if any element of the impl block is public, it should be displayed. /// Not private impl Foo { pub const BAR: u32 = 0; type FOO = i32; fn hello() {} } /// Not private impl Foo { const BAR: u32 = 0; pub type FOO = i32; fn hello() {} } /// Not private impl Foo { const BAR: u32 = 0; type FOO = i32; pub fn hello() {} }