cbh_model 0.2.21

Implementation crate for cargo-bench-history - do not reference directly
Documentation
[package]
# Cargo has its own logic for naming and expects dashes for the `cargo-bench-history`
# binary, but its internal implementation crates use the short `cbh_` underscore prefix.
name = "cbh_model"
description = "Implementation crate for cargo-bench-history - do not reference directly"
publish = true
version = "0.2.21"

authors.workspace = true
edition.workspace = true
include.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

# Baseline of external types intentionally exposed in the public API. Any new
# external type must be reviewed and added explicitly.
# Ref: docs/external-types.md.
[package.metadata.cargo_check_external_types]
allowed_external_types = [
    "jiff::timestamp::Timestamp",
    "nonempty::NonEmpty",
    "ohno::enrichable::Enrichable",
    "ohno::error_ext::ErrorExt",
    "serde_core::de::Deserialize",
    "serde_core::ser::Serialize",
    "serde_json::error::Error",
    "smallvec::SmallVec",
]

[package.metadata.release-plan]
# Implementation partition of `cargo-bench-history`; consumers reach this surface
# through that package, which is where its compatibility is assessed.
private-api = true

[lib]
# This is an implementation crate whose surface is documented on `cargo-bench-history`.
doc = false

[dependencies]
jiff = { workspace = true, features = ["serde"] }
nonempty = { workspace = true, features = ["serialize"] }
ohno = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
smallvec = { workspace = true, features = ["serde"] }

[dev-dependencies]
criterion = { workspace = true }
static_assertions = { workspace = true }
testing = { path = "../testing" }

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

[lints]
workspace = true