[package]
name = "dial9-trace-format"
version = "0.4.1"
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Self-describing binary trace format with schema registry"
autobenches = false

[features]
serde = ["dep:serde"]
# Enables a serde `Deserializer` for trace events. This is gated separately
# from `serde` because the deserializer is significantly larger than the
# `Serialize` impls and is only useful for analysis-side consumers.
serde-deserialize = ["serde"]

[dependencies]
dial9-trace-format-derive = { workspace = true }
serde = { version = "1", optional = true }

[dev-dependencies]
# Tests in this crate exercise the serde Deserializer.
dial9-trace-format = { path = ".", features = ["serde-deserialize"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tempfile = "3"
flate2 = "1"
iai-callgrind = "=0.16.1"

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

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(iai_enabled)'] }
