[package]
name = "frozen-collections-core"
description = "Implementation logic for frozen collections."
version.workspace = true
edition.workspace = true
categories.workspace = true
keywords.workspace = true
repository.workspace = true
license.workspace = true
authors.workspace = true
readme = "README.md"
rust-version.workspace = true

[dependencies]
const-random = { workspace = true }
equivalent = { workspace = true }
foldhash = { workspace = true }
hashbrown = { workspace = true, features = ["default-hasher"] }
mutants = { workspace = true }
proc-macro2 = { workspace = true, optional = true }
quote = { workspace = true, optional = true }
serde = { workspace = true, optional = true, features = ["alloc"] }
syn = { workspace = true, optional = true, features = ["printing", "parsing", "clone-impls", "derive", "extra-traits"], default-features = false }

[dev-dependencies]
rand = { workspace = true, features = ["std", "std_rng"] }

[features]
default = ["std", "macros", "serde", "emit"]
macros = ["dep:syn", "dep:quote", "dep:proc-macro2"]
emit = ["dep:syn", "dep:quote", "dep:proc-macro2", "std"]
serde = ["dep:serde"]
std = []

[lints]
workspace = true
