munge makes it easy to initialize MaybeUninits.
Just use the munge! macro to destructure MaybeUninits the same way you'd destructure a value.
Initialize all the fields, then call assume_init to unwrap it.
munge has no features and is always #![no_std].
Example
use ;
let mut mu = uninit;
munge!;
assert_eq!;
assert_eq!;
assert_eq!;
f = &mut uninit;
// SAFETY: `mu` is completely initialized.
let init = unsafe ;
assert_eq!;
assert_eq!;
assert_eq!;