[package]
edition = "2021"
rust-version = "1.61.0"
name = "maitake-sync"
version = "0.3.0"
authors = ["Eliza Weisman <eliza@elizas.website>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "No-std async synchronization primitives from Maitake"
homepage = "https://mycelium.elizas.website"
documentation = "https://docs.rs/maitake-sync"
readme = "README.md"
keywords = [
"async",
"no_std",
"sync",
"mutex",
"rwlock",
]
categories = [
"no-std",
"asynchronous",
"concurrency",
]
license = "MIT"
repository = "https://github.com/hawkw/mycelium"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = ["cordyceps/alloc"]
core-error = []
critical-section = ["dep:critical-section"]
default = ["alloc"]
no-cache-pad = ["cordyceps/no-cache-pad"]
std = ["alloc"]
[lib]
name = "maitake_sync"
path = "src/lib.rs"
[dependencies.cordyceps]
version = "0.3.0"
[dependencies.critical-section]
version = "1.1"
optional = true
[dependencies.mutex-traits]
version = "1.0.0"
[dependencies.mycelium-bitfield]
version = "0.1.3"
[dependencies.pin-project]
version = "1"
[dependencies.portable-atomic]
version = "1.2"
[dependencies.tracing]
version = "0.1"
optional = true
default-features = false
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.futures-util]
version = "0.3"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tracing]
version = "0.1"
features = ["std"]
default-features = false
[dev-dependencies.tracing-subscriber]
version = "0.3.11"
features = [
"fmt",
"env-filter",
]
[target."cfg(loom)".dependencies.loom]
version = "0.7"
default-features = false
[target."cfg(loom)".dependencies.tracing]
version = "0.1"
default-features = false
[target."cfg(loom)".dev-dependencies.loom]
version = "0.7"
features = [
"futures",
"checkpoint",
]
[target."cfg(not(loom))".dev-dependencies.proptest]
version = "1"
[target."cfg(not(loom))".dev-dependencies.tokio]
version = "1.32"
features = [
"rt",
"macros",
]
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(loom)",
"cfg(maitake_ultraverbose)",
]