[−][src]Type Definition conquer_once::Once
type Once = OnceCell<()>;
A synchronization primitive which can be used to run a one-time global initialization.
For the API of this type alias, see the generic
OnceCell
type.
This is a specialization with T = ()
.
Examples
use conquer_once::Once; static mut GLOBAL: usize = 0; static INIT: Once = Once::new(); fn get_global() -> usize { // this is safe because the `Once` ensures the `static mut` is assigned // by only one thread and without data races. unsafe { INIT.init_once(|| { GLOBAL = expensive_computation(); }); GLOBAL } } fn expensive_computation() -> usize { // ... }