[package]
edition = "2021"
name = "WorkTablesIndex"
version = "0.0.14"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A two-level BTree with fast iteration and indexing operations"
documentation = "https://docs.rs/WorkTablesIndex/"
readme = "README.md"
keywords = [
"btreemap",
"btreeset",
"set",
"map",
"order-statistic",
]
categories = ["data-structures"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/pathscale/WorkTablesIndex"
[package.metadata.docs.rs]
features = [
"cdc",
"concurrent",
"multimap",
]
[features]
cdc = ["concurrent"]
concurrent = [
"dep:parking_lot",
"dep:ps-reclaim",
"ps-reclaim/spin",
]
custom-binary-search = []
default = [
"std",
"wt-slice-binary-search",
]
multimap = [
"concurrent",
"dep:fastrand",
]
serde = [
"dep:serde",
"ftree/serde",
"std",
]
std = [
"fastrand?/std",
"parking_lot?/std",
"ps-reclaim?/std",
"serde?/std",
]
std-binary-search = []
superslice-binary-search = [
"dep:superslice",
"std",
]
wt-slice-binary-search = ["dep:wt-slice"]
[lib]
name = "indexset"
path = "src/lib.rs"
[[test]]
name = "loom_publication"
path = "tests/loom_publication.rs"
[[test]]
name = "wfe"
path = "tests/wfe.rs"
[[bench]]
name = "concurrent"
path = "benches/concurrent.rs"
harness = false
required-features = ["multimap"]
[[bench]]
name = "locks"
path = "benches/locks.rs"
harness = false
[[bench]]
name = "stdlib"
path = "benches/stdlib.rs"
harness = false
required-features = ["concurrent"]
[dependencies.fastrand]
version = "2"
optional = true
default-features = false
[dependencies.ftree]
version = "1"
default-features = false
[dependencies.parking_lot]
version = "0.12.6"
features = [
"send_guard",
"arc_lock",
]
optional = true
default-features = false
package = "parking_lot_lite_hack"
[dependencies.serde]
version = "1"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.superslice]
version = "1"
optional = true
[dependencies.wt-slice]
version = "0.1"
optional = true
[dev-dependencies.atomic-wait]
version = "1.1"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.crossbeam-skiplist]
version = "0.1"
[dev-dependencies.libc]
version = "0.2"
[dev-dependencies.lock_api]
version = "0.4"
features = ["arc_lock"]
[dev-dependencies.loom]
version = "0.7"
[dev-dependencies.parking_lot_upstream]
version = "0.12"
features = ["arc_lock"]
package = "parking_lot"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.scc]
version = "2.2.5"
[dev-dependencies.spin]
version = "0.12"
features = [
"spin_mutex",
"rwlock",
"lock_api",
"std",
]
default-features = false
[dev-dependencies.uuid]
version = "1.17.0"
features = ["v7"]
[target."cfg(unix)".dependencies.ps-reclaim]
version = "^0.1, >=0.1.4"
features = ["libc"]
optional = true
default-features = false
[target."cfg(windows)".dependencies.ps-reclaim]
version = "^0.1, >=0.1.4"
features = ["windows-sys"]
optional = true
default-features = false
[lints.clippy]
bind_instead_of_map = "allow"
bool_assert_comparison = "allow"
clone_on_copy = "allow"
derived_hash_with_manual_eq = "allow"
field_reassign_with_default = "allow"
get_first = "allow"
get_last_with_len = "allow"
iter_cloned_collect = "allow"
len_without_is_empty = "allow"
len_zero = "allow"
manual_ok_err = "allow"
missing_transmute_annotations = "allow"
multiple_bound_locations = "allow"
needless_borrow = "allow"
needless_range_loop = "allow"
needless_return = "allow"
never_loop = "allow"
non_canonical_partial_ord_impl = "allow"
nonminimal_bool = "allow"
op_ref = "allow"
redundant_locals = "allow"
redundant_pattern_matching = "allow"
repeat_vec_with_capacity = "allow"
type_complexity = "allow"
uninit_assumed_init = "allow"
unit_arg = "allow"
unnecessary_lazy_evaluations = "allow"
unnecessary_sort_by = "allow"
unnecessary_unwrap = "allow"
useless_conversion = "allow"
useless_vec = "allow"
while_let_loop = "allow"
[lints.rust]
deprecated = "allow"
mismatched_lifetime_syntaxes = "allow"
non_snake_case = "allow"
unknown_lints = "allow"