crates/nornir-introspect/Cargo.toml
[package]
name = "nornir-introspect"
# 0.1.3: DRIFTED from the published 0.1.2 — 71593d8 fixed a krate-attribution guard
# that scanned a root under which it could never pass, i.e. a guard that could not
# report red. crates.io bytes are immutable, so the fix ships as a new version.
version = "0.1.4"
edition = "2021"
description = "Code introspection — derive structural graphs from the *built* code, never hand-maintained sources: DWARF/symbol extraction (object+gimli) and a cargo_metadata dependency graph with self-contained sibling path-dep resolution. Renders self-contained static SVG. Lifted out of nornir (the Iceberg persistence stays behind)."
license = "MIT OR Apache-2.0"
repository = "https://git.gunnar.rs/nordisk/nornir"
keywords = ["introspection", "symbols", "dwarf", "cargo-metadata"]
categories = ["development-tools"]
exclude = ["/.nornir/"]
[features]
# Functional-status emit MODE: pull `nornir-testmatrix` and light this crate's
# `selftest::emit` bridge so its introspection surfaces record honest matrix
# rows. OFF by default — release strips the emit to an `#[inline]` no-op and does
# NOT link `nornir-testmatrix`.
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]
[dependencies]
anyhow = "1"
serde = { version = "1", features = ["derive"] }
object = "0.40"
gimli = "0.34"
memmap2 = "0.9"
cargo_metadata = "0.23"
rustc-demangle = "0.1"
toml = "1"
# ROOT-LAW #0: all CPU fan-out rides znippy-zoomies' gatling fork-join pool.
# 0.1.13 adds `gatling_forkjoin::gatling_map_balanced` (index-ordered results,
# dynamic self-dispatch) — the sibling `knowledge/symbols.rs`, `vector/store.rs`
# and `warehouse/iceberg.rs` fan-outs use it too. The workspace `[patch.crates-io]`
# repoints this at the local `../znippy-zoomies` path.
znippy-zoomies = "0.1.26"
nornir-testmatrix = { version = "0.2.4", path = "../../../edda/crates/nornir-testmatrix", optional = true }
[dev-dependencies]
tempfile = "3"