JamesMunns[m]: > <@jamesmunns:beeper.com> maybe > > ```rust > pub fn recv() -> T { > let uc = UnsafeCell::>::new(MaybeUninit::uninit()); > > compiler_fence(Ordering::Release); > > critical_section::with(|cs| /* magic */); > > compiler_fence(Ordering::Acquire); > let m = uc.into_inner(); > unsafe { m.assume_init() } > } > ``` this doesn't work. I also tried SeqCst, both before and after the cs, which should cover both.