mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
// Regression test for <https://github.com/rust-lang/rust/issues/90435>.
 | 
						|
// Check that we show `#[repr(transparent)]` iff the non-1-ZST field is public or at least one
 | 
						|
// field is public in case all fields are 1-ZST fields.
 | 
						|
 | 
						|
// @has 'repr/struct.ReprTransparentPrivField.html'
 | 
						|
// @!has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
 | 
						|
#[repr(transparent)] // private
 | 
						|
pub struct ReprTransparentPrivField {
 | 
						|
    field: u32, // non-1-ZST field
 | 
						|
}
 | 
						|
 | 
						|
// @has 'repr/struct.ReprTransparentPriv1ZstFields.html'
 | 
						|
// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
 | 
						|
#[repr(transparent)] // public
 | 
						|
pub struct ReprTransparentPriv1ZstFields {
 | 
						|
    marker0: Marker,
 | 
						|
    pub main: u64, // non-1-ZST field
 | 
						|
    marker1: Marker,
 | 
						|
}
 | 
						|
 | 
						|
// @has 'repr/struct.ReprTransparentPub1ZstField.html'
 | 
						|
// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
 | 
						|
#[repr(transparent)] // public
 | 
						|
pub struct ReprTransparentPub1ZstField {
 | 
						|
    marker0: Marker,
 | 
						|
    pub marker1: Marker,
 | 
						|
}
 | 
						|
 | 
						|
struct Marker; // 1-ZST
 |