[package]
edition = "2024"
rust-version = "1.85.0"
name = "idr-ebr"
version = "0.3.2"
authors = ["Paul Loyd <pavelko95@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An efficient concurrent ID to object resolver"
homepage = "https://github.com/loyd/idr-ebr"
documentation = "https://docs.rs/idr-ebr/"
readme = "README.md"
keywords = [
"idr",
"ebr",
"slab",
"lock-free",
"wait-free",
]
categories = [
"data-structures",
"concurrency",
]
license = "MIT"
repository = "https://github.com/loyd/idr-ebr"
[features]
loom = [
"dep:loom",
"sdd/loom",
]
[lib]
name = "idr_ebr"
path = "src/lib.rs"
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "limits"
path = "tests/limits.rs"
[[test]]
name = "loom"
path = "tests/loom.rs"
[[test]]
name = "properties"
path = "tests/properties.rs"
[[test]]
name = "smoke"
path = "tests/smoke.rs"
[[bench]]
name = "contention"
path = "benches/contention.rs"
harness = false
[dependencies.fastrand]
version = "2"
[dependencies.sdd]
version = "4.5.3"
[dev-dependencies.criterion]
version = "0.8.1"
[dev-dependencies.indexmap]
version = "2"
[dev-dependencies.mimalloc]
version = "0.1.29"
default-features = false
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.sharded-slab]
version = "0.1.7"
[dev-dependencies.tracing]
version = "0.1.40"
[dev-dependencies.trybuild]
version = "1"
[target."cfg(idr_ebr_loom)".dependencies.loom]
version = "0.7"
features = ["checkpoint"]
optional = true
[lints.clippy]
cast_possible_truncation = "allow"
doc_markdown = "allow"
inline_always = "allow"
items_after_statements = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
similar_names = "allow"
undocumented_unsafe_blocks = "warn"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
unexpected_cfgs = "allow"
unreachable_pub = "warn"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
[profile.release]
debug = 1