| // 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(); | |
| } | |
| } |