| //@ check-pass | |
| use std::mem; | |
| // Neither of the uninits below are currently accepted as not UB, however, | |
| // this code does not run and is merely checking that we do not ICE on this pattern, | |
| // so this is fine. | |
| fn foo<const SIZE: usize>() { | |
| let arr: [u8; SIZE] = unsafe { | |
| #[allow(deprecated)] | |
| let array: [u8; SIZE] = mem::uninitialized(); | |
| array | |
| }; | |
| } | |
| fn bar<const SIZE: usize>() { | |
| let arr: [u8; SIZE] = unsafe { | |
| let array: [u8; SIZE] = mem::MaybeUninit::uninit().assume_init(); | |
| array | |
| }; | |
| } | |
| fn main() {} |