Expand description
DSFB-Debug: error types — additive, Copy, no-panic.
Every fallible operation in the crate returns Result<T, DsfbError>
rather than panicking. The crate’s top-level lints
(#![deny(clippy::unwrap_used)]) enforce this at compile time.
DsfbError is Copy + Clone + Debug + PartialEq + Eq — every
variant is a stack-only enum, no heap allocation. Variants are
additive across versions: existing variants are never removed or
renumbered, so cross-version match arms remain valid.
§Variant taxonomy
- DimensionMismatch / BufferTooSmall — caller-shape errors (operator passed wrong slice lengths or undersized output buffer)
- MissingRealData / HashMismatch —
paper-lockintegrity gates (sentinel fixture / SHA-256 drift) - ParseError — adapter/fixture-format errors (invalid TSV, missing header, etc.)
- InvalidConfig — paper-lock config-construction errors
Operators reading these errors at runtime can map each variant to a specific corrective action; the crate documents the action in each variant’s per-variant doc-comment.
Enums§
- Dsfb
Error - All errors the DSFB engine can produce. No heap allocation — all variants are Copy.