// https://github.com/rust-lang/rust/issues/79201 #![crate_name="foo"] #![feature(doc_cfg)] // @has 'foo/trait.Foo.html' // @count - '//*[@class="stab portability"]' 6 // @matches - '//*[@class="stab portability"]' 'crate feature foo-root' // @matches - '//*[@class="stab portability"]' 'crate feature foo-public-mod' // @matches - '//*[@class="stab portability"]' 'crate feature foo-private-mod' // @matches - '//*[@class="stab portability"]' 'crate feature foo-fn' // @matches - '//*[@class="stab portability"]' 'crate feature foo-method' pub trait Foo {} #[doc(cfg(feature = "foo-root"))] impl crate::Foo for usize {} #[doc(cfg(feature = "foo-public-mod"))] pub mod public { impl crate::Foo for u8 {} } #[doc(cfg(feature = "foo-private-mod"))] mod private { impl crate::Foo for u16 {} } #[doc(cfg(feature = "foo-const"))] const _: () = { impl crate::Foo for u32 {} }; #[doc(cfg(feature = "foo-fn"))] fn __() { impl crate::Foo for u64 {} } #[doc(cfg(feature = "foo-method"))] impl dyn Foo { fn __() { impl crate::Foo for u128 {} } }