[package]
name = "pounce-common"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
readme = "README.md"
description = "Common primitives for POUNCE (port of Ipopt's src/Common): types, exceptions, journalist, options, tagged objects, cached results."
keywords = ["optimization", "nlp", "ipopt", "solver"]
categories = ["mathematics", "algorithms"]

[dependencies]
# Color vocabulary + terminal-capability detection for the tiger/rust
# branded output (pounce#71). Kept dependency-light so this leaf crate
# does not drag `tracing-subscriber` into every downstream build; the
# subscriber wiring lives in `pounce-observability`.
anstyle.workspace = true
anstyle-query.workspace = true

# Unix-only: `cpu_time()` reads user CPU time via `getrusage(RUSAGE_SELF)`,
# matching Ipopt's `CpuTime()`. Non-Unix targets keep the wallclock fallback,
# so no dependency is pulled there.
[target.'cfg(unix)'.dependencies]
libc.workspace = true

[lints]
workspace = true
