[package]
name = "semigroup"
version.workspace = true
description.workspace = true
authors.workspace = true
edition.workspace = true
repository.workspace = true
license-file.workspace = true
readme.workspace = true
[features]
derive = []
serde = ["dep:serde"]
test = ["dep:rand"]
monoid = ["dep:num"]
histogram = ["dep:hdrhistogram"]
async = ["dep:futures"]
[dependencies]
semigroup_derive = { version = "0.4", path = "../semigroup_derive" }
serde = { version = "1", features = ["derive"], optional = true }
num = { version = "0.4", optional = true }
rand = { version = "0.9", optional = true }
hdrhistogram = { version = "7", optional = true }
futures = { version = "0.3", optional = true }
[dev-dependencies]
semigroup = { path = ".", features = ["derive", "test"] }
rstest = "0.26"
trybuild = { version = "1", features = ["diff"] }
serde_json = "1"
serde = { version = "1", features = ["derive"] }
clap = { version = "4", features = ["derive", "env"] }
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(doc_cfg)'] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "doc_cfg"]