mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			637 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			637 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ normalize-stderr: "pref: Align\([1-8] bytes\)" -> "pref: $$PREF_ALIGN"
 | |
| //! Various enum layout tests.
 | |
| 
 | |
| #![feature(rustc_attrs)]
 | |
| #![feature(never_type)]
 | |
| #![crate_type = "lib"]
 | |
| 
 | |
| #[rustc_layout(align)]
 | |
| enum UninhabitedVariantAlign { //~ERROR: abi: Align(2 bytes)
 | |
|     A([u8; 32]),
 | |
|     B([u16; 0], !), // make sure alignment in uninhabited fields is respected
 | |
| }
 | |
| 
 | |
| #[rustc_layout(size)]
 | |
| enum UninhabitedVariantSpace { //~ERROR: size: Size(16 bytes)
 | |
|     A,
 | |
|     B([u8; 15], !), // make sure there is space being reserved for this field.
 | |
| }
 | |
| 
 | |
| #[rustc_layout(abi)]
 | |
| enum ScalarPairDifferingSign { //~ERROR: abi: ScalarPair
 | |
|     A(u8),
 | |
|     B(i8),
 | |
| }
 | 
