79 lines
2.8 KiB
Rust
79 lines
2.8 KiB
Rust
|
//@ 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);
|