#![allow(unused_variables)] #![feature(allocator_api)] #![feature(get_mut_unchecked)] fn main() { fn _inner() -> core::result::Result<(), impl core::fmt::Debug> { use std::rc::Rc; let mut five = Rc::::try_new_uninit()?; Rc::get_mut(&mut five).unwrap().write(5); let five = unsafe { five.assume_init() }; assert_eq!(* five, 5); Ok::<(), std::alloc::AllocError>(()) } _inner().unwrap() }