[package] name = "maitake-sync" version = "0.1.2" authors = [ "Eliza Weisman ", ] description = "No-std async synchronization primitives from Maitake" repository = "https://github.com/hawkw/mycelium" documentation = "https://docs.rs/maitake-sync" homepage = "https://mycelium.elizas.website" license = "MIT" readme = "README.md" keywords = ["async", "no_std", "sync", "mutex", "rwlock"] categories = [ "no-std", "asynchronous", "concurrency" ] edition = "2021" rust-version = "1.61.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["alloc"] alloc = ["cordyceps/alloc"] no-cache-pad = ["cordyceps/no-cache-pad"] core-error = [] [dependencies] mycelium-bitfield = { version = "0.1.3", path = "../bitfield" } cordyceps = { version = "0.3.0", path = "../cordyceps" } pin-project = "1" portable-atomic = "1.2" tracing = { version = "0.1", default_features = false, optional = true } # this is a normal dependency, rather than a dev dependency, so that # `maitake-sync` may be used in other crates' loom tests as well (but only when # the cfg is enabled). [target.'cfg(loom)'.dependencies] loom = { version = "0.7", default_features = false } [dev-dependencies] futures-util = "0.3" futures = "0.3" tokio-test = "0.4" tracing = { version = "0.1", default_features = false, features = ["std"] } tracing-subscriber = { version = "0.3.11", features = ["fmt", "env-filter"] } [target.'cfg(not(loom))'.dev-dependencies] proptest = "1" tokio = { version = "1.32", features = ["rt", "macros"] } [target.'cfg(loom)'.dev-dependencies] loom = { version = "0.7", features = ["futures", "checkpoint"] } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]