Name Description Size
imp_cs.rs 2485
imp_pl.rs 5803
imp_std.rs 12743
lib.rs 46949
race.rs Thread-safe, non-blocking, "first one wins" flavor of `OnceCell`. If two threads race to initialize a type from the `race` module, they don't block, execute initialization function together, but only one of them stores the result. This module does not require `std` feature. # Atomic orderings All types in this module use `Acquire` and `Release` [atomic orderings](Ordering) for all their operations. While this is not strictly necessary for types other than `OnceBox`, it is useful for users as it allows them to be certain that after `get` or `get_or_init` returns on one thread, any side-effects caused by the setter thread prior to them calling `set` or `get_or_init` will be made visible to that thread; without it, it's possible for it to appear as if they haven't happened yet from the getter thread's perspective. This is an acceptable tradeoff to make since `Acquire` and `Release` have very little performance overhead on most architectures versus `Relaxed`. 13277