conquer-once

Crates.ioconquer-once
lib.rsconquer-once
version0.4.0
sourcesrc
created_at2019-08-19 20:50:58.540423
updated_at2023-04-08 20:46:19.00559
descriptionSynchronization primitives for lazy and one-time initialization
homepage
repositoryhttps://github.com/oliver-giersch/conquer-once.git
max_upload_size
id158187
size66,797
(oliver-giersch)

documentation

https://docs.rs/conquer-once

README

conquer-once

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.

Build Status Latest version Documentation License Rust 1.36+

Usage

To use this crate, add the following to your Cargo.toml

[dependencies]
conquer-once = "0.4.0"

Minimum Supported Rust Version (MSRV)

The minimum supported Rust version for this crate is 1.49.0.

Cargo Features

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

License

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.

Commit count: 70

cargo fmt