Synchronization primitives for lazy and one-time initialization using low-level
blocking mechanisms with clear distinction between blocking and non-blocking
methods and additional support for #[no_std]
environments when using
spin-locks.
To use this crate, add the following to your Cargo.toml
[dependencies]
conquer-once = "0.4.0"
The minimum supported Rust version for this crate is 1.49.0.
By default, conquer-once
enables the std
feature.
With this feature enabled, the crate exports the Lazy
, Once
and OnceCell
types that use an OS and standard library reliant blocking mechanism.
Without this feature, the crate is #[no_std]
environment compatible, but only
exports the types in the crate's spin
sub-module, which use spin-locks.
The feature can be disabled by specifying the dependency as follows:
[dependencies.conquer-once]
version = "0.4.0"
use-default-features = false
conquer-once
is distributed under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.