mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			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);
 | 
