Function konst::maybe_uninit::write
source · pub const fn write<T>(md: &mut MaybeUninit<T>, value: T) -> &mut T
Available on crate feature
mut_refs
only.Expand description
Const equivalent of MaybeUninit::write
§Example
use std::cmp::Ordering;
use std::mem::MaybeUninit;
use konst::maybe_uninit;
const fn cond_init(mu: &mut MaybeUninit<u32>, value: u32) -> Option<&mut u32> {
if value % 3 != 0 {
Some(maybe_uninit::write(mu, value))
} else {
None
}
}
let mut mu = MaybeUninit::uninit();
assert_eq!(cond_init(&mut mu, 0), None);
assert_eq!(cond_init(&mut mu, 1), Some(&mut 1));
assert_eq!(cond_init(&mut mu, 2), Some(&mut 2));
assert_eq!(cond_init(&mut mu, 3), None);
assert_eq!(cond_init(&mut mu, 4), Some(&mut 4));
assert_eq!(cond_init(&mut mu, 5), Some(&mut 5));
assert_eq!(cond_init(&mut mu, 6), None);