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