mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			20 lines
		
	
	
		
			521 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			521 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
//@ build-pass
 | 
						|
// Test the uninit() construct returning various empty types.
 | 
						|
 | 
						|
//@ pretty-expanded FIXME #23616
 | 
						|
 | 
						|
use std::mem::MaybeUninit;
 | 
						|
 | 
						|
struct Foo;
 | 
						|
 | 
						|
#[allow(deprecated)]
 | 
						|
pub fn main() {
 | 
						|
    unsafe {
 | 
						|
        // `Foo` and `[Foo; 2]` are both zero sized and inhabited, so this is safe.
 | 
						|
        let _x: Foo = MaybeUninit::uninit().assume_init();
 | 
						|
        let _x: [Foo; 2] = MaybeUninit::uninit().assume_init();
 | 
						|
        let _x: Foo = std::mem::uninitialized();
 | 
						|
        let _x: [Foo; 2] = std::mem::uninitialized();
 | 
						|
    }
 | 
						|
}
 |