#![allow(dead_code, deprecated, unused_variables, unused_mut)] #![feature(once_cell_try)] use std::cell::OnceCell; fn main() { let cell = OnceCell::new(); assert_eq!(cell.get_or_try_init(|| Err(())), Err(())); assert!(cell.get().is_none()); let value = cell.get_or_try_init(|| -> Result { Ok(92) }); assert_eq!(value, Ok(& 92)); assert_eq!(cell.get(), Some(& 92)) }