Skip to content

Commit 5f58dc9

Browse files
authored
Rollup merge of #132744 - lolbinarycat:test-90781, r=aDotInTheVoid
add regression test for #90781 closes #90781
2 parents 910ac7e + 90fa5b6 commit 5f58dc9

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

Diff for: tests/rustdoc/hidden-implementors-90781.rs

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
//@ compile-flags: -Z unstable-options --document-hidden-items --document-private-items
2+
3+
// regression test for https://github.com/rust-lang/rust/issues/90781
4+
#![crate_name = "foo"]
5+
6+
//@ has foo/trait.TPubVis.html
7+
//@ has - '//*[@id="implementors-list"]' 'HidPriv'
8+
//@ has - '//*[@id="implementors-list"]' 'HidPub'
9+
//@ has - '//*[@id="implementors-list"]' 'VisPriv'
10+
//@ has - '//*[@id="implementors-list"]' 'VisPub'
11+
pub trait TPubVis {}
12+
13+
//@ has foo/trait.TPubHidden.html
14+
//@ has - '//*[@id="implementors-list"]' 'HidPriv'
15+
//@ has - '//*[@id="implementors-list"]' 'HidPub'
16+
//@ has - '//*[@id="implementors-list"]' 'VisPriv'
17+
//@ has - '//*[@id="implementors-list"]' 'VisPub'
18+
#[doc(hidden)]
19+
pub trait TPubHidden {}
20+
21+
//@ has foo/trait.TPrivVis.html
22+
//@ has - '//*[@id="implementors-list"]' 'HidPriv'
23+
//@ has - '//*[@id="implementors-list"]' 'HidPub'
24+
//@ has - '//*[@id="implementors-list"]' 'VisPriv'
25+
//@ has - '//*[@id="implementors-list"]' 'VisPub'
26+
trait TPrivVis {}
27+
28+
#[doc(hidden)]
29+
//@ has foo/trait.TPrivHidden.html
30+
//@ has - '//*[@id="impl-TPrivHidden-for-HidPriv"]' 'HidPriv'
31+
//@ has - '//*[@id="impl-TPrivHidden-for-HidPub"]' 'HidPub'
32+
//@ has - '//*[@id="impl-TPrivHidden-for-VisPriv"]' 'VisPriv'
33+
//@ has - '//*[@id="impl-TPrivHidden-for-VisPub"]' 'VisPub'
34+
trait TPrivHidden {}
35+
36+
//@ has foo/struct.VisPub.html
37+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden'
38+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis'
39+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden'
40+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubVis'
41+
pub struct VisPub;
42+
43+
//@ has foo/struct.VisPriv.html
44+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden'
45+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis'
46+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden'
47+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubVis'
48+
struct VisPriv;
49+
50+
//@ has foo/struct.HidPub.html
51+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden'
52+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis'
53+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden'
54+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubVis'
55+
#[doc(hidden)]
56+
pub struct HidPub;
57+
58+
//@ has foo/struct.HidPriv.html
59+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivHidden'
60+
//@ has - '//*[@id="trait-implementations-list"]' 'TPrivVis'
61+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubHidden'
62+
//@ has - '//*[@id="trait-implementations-list"]' 'TPubVis'
63+
#[doc(hidden)]
64+
struct HidPriv;
65+
66+
macro_rules! implement {
67+
($trait:ident - $($struct:ident)+) => {
68+
$(
69+
impl $trait for $struct {}
70+
)+
71+
}
72+
}
73+
74+
75+
implement!(TPubVis - VisPub VisPriv HidPub HidPriv);
76+
implement!(TPubHidden - VisPub VisPriv HidPub HidPriv);
77+
implement!(TPrivVis - VisPub VisPriv HidPub HidPriv);
78+
implement!(TPrivHidden - VisPub VisPriv HidPub HidPriv);

0 commit comments

Comments
 (0)