### What it does Checks for `MaybeUninit::uninit().assume_init()`. ### Why is this bad? For most types, this is undefined behavior. ### Known problems For now, we accept empty tuples and tuples / arrays of `MaybeUninit`. There may be other types that allow uninitialized data, but those are not yet rigorously defined. ### Example ``` // Beware the UB use std::mem::MaybeUninit; let _: usize = unsafe { MaybeUninit::uninit().assume_init() }; ``` Note that the following is OK: ``` use std::mem::MaybeUninit; let _: [MaybeUninit; 5] = unsafe { MaybeUninit::uninit().assume_init() }; ```