#![allow(dead_code, deprecated, unused_variables, unused_mut)] #![feature(once_cell_get_mut)] use std::cell::OnceCell; fn main() { let mut cell = OnceCell::new(); let value = cell.get_mut_or_init(|| 92); assert_eq!(* value, 92); *value += 2; assert_eq!(* value, 94); let value = cell.get_mut_or_init(|| unreachable!()); assert_eq!(* value, 94); }