[package]
name = "frozen-collections"
description = "Fast partially-immutable collections."
readme.workspace = true
authors.workspace = true
version.workspace = true
edition.workspace = true
categories.workspace = true
keywords.workspace = true
repository.workspace = true
license.workspace = true
rust-version.workspace = true

[dependencies]
foldhash = { workspace = true }
frozen-collections-macros = { workspace = true, optional = true }
frozen-collections-core = { workspace = true }

[dev-dependencies]
rand = { workspace = true }
quote = { workspace = true }
syn = { workspace = true, features = ["printing", "parsing", "clone-impls", "derive", "extra-traits"] }
hashbrown = { workspace = true, features = ["serde"] }
criterion = { workspace = true }
frozen-collections-core = { workspace = true, features = ["std", "serde", "macros", "emit" ] }
serde = { workspace = true }
serde_json = { workspace = true }

[build-dependencies]
rand_chacha = { workspace = true }
rand = { workspace = true }

[lints]
workspace = true

[features]
default = ["std", "macros", "serde", "emit"]
serde = ["frozen-collections-core/serde"]
std = ["frozen-collections-core/std"]
macros = ["frozen-collections-macros", "frozen-collections-core/macros"]
emit = ["frozen-collections-core/emit"]

[[bench]]
name = "ordered_keys"
harness = false

[[bench]]
name = "scalar_keys"
harness = false

[[bench]]
name = "hashed_keys"
harness = false

[[bench]]
name = "string_keys"
harness = false
