| //@ compile-flags: -Z unstable-options --document-hidden-items --document-private-items | |
| // regression test for https://github.com/rust-lang/rust/issues/90781 | |
| #![crate_name = "foo"] | |
| //@ has foo/trait.TPubVis.html | |
| //@ has - '//*[@id="implementors-list"]' 'HidPriv' | |
| //@ has - '//*[@id="implementors-list"]' 'HidPub' | |
| //@ has - '//*[@id="implementors-list"]' 'VisPriv' | |
| //@ has - '//*[@id="implementors-list"]' 'VisPub' | |
| pub trait TPubVis {} | |
| //@ has foo/trait.TPubHidden.html | |
| //@ has - '//*[@id="implementors-list"]' 'HidPriv' | |
| //@ has - '//*[@id="implementors-list"]' 'HidPub' | |
| //@ has - '//*[@id="implementors-list"]' 'VisPriv' | |
| //@ has - '//*[@id="implementors-list"]' 'VisPub' | |
| #[doc(hidden)] | |
| pub trait TPubHidden {} | |
| //@ has foo/trait.TPrivVis.html | |
| //@ has - '//*[@id="implementors-list"]' 'HidPriv' | |
| //@ has - '//*[@id="implementors-list"]' 'HidPub' | |
| //@ has - '//*[@id="implementors-list"]' 'VisPriv' | |
| //@ has - '//*[@id="implementors-list"]' 'VisPub' | |
| trait TPrivVis {} | |
| #[doc(hidden)] | |
| //@ has foo/trait.TPrivHidden.html | |
| //@ has - '//*[@id="impl-TPrivHidden-for-HidPriv"]' 'HidPriv' | |
| //@ has - '//*[@id="impl-TPrivHidden-for-HidPub"]' 'HidPub' | |
| //@ has - '//*[@id="impl-TPrivHidden-for-VisPriv"]' 'VisPriv' | |
| //@ has - '//*[@id="impl-TPrivHidden-for-VisPub"]' 'VisPub' | |
| trait TPrivHidden {} | |
| //@ has foo/struct.VisPub.html | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubVis' | |
| pub struct VisPub; | |
| //@ has foo/struct.VisPriv.html | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubVis' | |
| struct VisPriv; | |
| //@ has foo/struct.HidPub.html | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubVis' | |
| #[doc(hidden)] | |
| pub struct HidPub; | |
| //@ has foo/struct.HidPriv.html | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden' | |
| //@ has - '//*[@id="trait-implementations-list"]' 'TPubVis' | |
| #[doc(hidden)] | |
| struct HidPriv; | |
| macro_rules! implement { | |
| ($trait:ident - $($struct:ident)+) => { | |
| $( | |
| impl $trait for $struct {} | |
| )+ | |
| } | |
| } | |
| implement!(TPubVis - VisPub VisPriv HidPub HidPriv); | |
| implement!(TPubHidden - VisPub VisPriv HidPub HidPriv); | |
| implement!(TPrivVis - VisPub VisPriv HidPub HidPriv); | |
| implement!(TPrivHidden - VisPub VisPriv HidPub HidPriv); |