indicio
Indicio provides a framework for emitting clues that may be used for debugging.
Status
Active development. Indicio is likely to change in the near future in backwards-incompatible ways.
Scope
Indicio provides:
- A
Valuetree for structured clue payloads. - The
value!andclue!macros for lazy clue construction. Collectorfor registering an emitter and filtering by verbosity.StdioEmitterfor human-readable stderr output.ProtobufEmitterfor append-only clue files when theprototkfeature is enabled.
The protobuf file format is a sequence of field-1 clue messages. It remains readable as a
ClueVector so existing consumers can continue to decode files written by ProtobufEmitter.
Warts
Mappreserves insertion order and duplicate keys. Lookup returns the first matching key.Valueequality givesf64values a total ordering semantics, so values such as-0.0and0.0compare differently.puzzle_piece!is intentionally small. Usetry_extractwhen callers need a missing-path or type-mismatch diagnostic;extractremains available for the olderOption-returning API.
Documentation
The latest documentation is always available at docs.rs.