[package]
name = "lattices"
publish = true
version = "0.7.0"
documentation = "https://docs.rs/lattices/"
description = "Lattice data types for simplifying distributed state by providing associativity, commutativity, and idempotence."
edition = { workspace = true }
repository = { workspace = true }
license = { workspace = true }

[lints]
workspace = true

[features]
default = []
serde = ["dep:serde"]

[package.metadata.docs.rs]
all-features = true

[dependencies]
cc-traits = "2.0.0"
sealed = "0.6.0"
serde = { version = "1.0.197", features = ["derive"], optional = true }
lattices_macro = { path = "../lattices_macro", version = "^0.6.0" }
variadics = { path = "../variadics", version = "^0.1.0" }
variadics_macro = { path = "../variadics_macro", version = "^0.7.0" }
roaring = "0.10"
fst = "0.4"

# coax cargo-smart-release into publishing this crate.
# https://github.com/hydro-project/hydro/blob/main/RELEASING.md#addendum-adding-new-crates
# https://github.com/GitoxideLabs/cargo-smart-release/issues/36
hydro_build_utils = { path = "../hydro_build_utils", version = "^0.1.0", optional = true }

[dev-dependencies]
trybuild = "1.0.0"

[build-dependencies]
hydro_build_utils = { path = "../hydro_build_utils", version = "^0.1.0" }
