[package] description = """ An implementation of Mellor-Crummey and Scott contention-free lock for mutual exclusion, referred to as MCS lock. """ name = "mcslock" version = "0.4.0" edition = "2021" # NOTE: Rust 1.65 is required for GATs and let-else statements. rust-version = "1.65.0" license = "MIT OR Apache-2.0" readme = "README.md" documentation = "https://docs.rs/mcslock" repository = "https://github.com/pedromfedricci/mcslock" authors = ["Pedro de Matos Fedricci "] categories = ["algorithms", "concurrency", "no-std", "no-std::no-alloc"] keywords = ["mutex", "no_std", "spinlock", "synchronization"] [features] # NOTE: Features `yield`, `thread_local` require std. yield = [] thread_local = [] barging = [] lock_api = ["dep:lock_api"] [dependencies.lock_api] version = "0.4" default-features = false optional = true [target.'cfg(loom)'.dev-dependencies.loom] version = "0.7" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [lints.rust.unexpected_cfgs] level = "warn" check-cfg = ["cfg(loom)", "cfg(tarpaulin)", "cfg(tarpaulin_include)"] [[example]] name = "barging" required-features = ["barging"] [[example]] name = "thread_local" required-features = ["thread_local"] [[example]] name = "lock_api" required-features = ["lock_api", "barging"]