What problem does it solve?
It helps you determine whether a Rust symbol (or family of related symbols) is only used in tests or is truly part of the production code path, so you can prioritize refactors and reduce high-touch change risk.
Core Features & Use Cases
- Test vs production fan-in classification: Categorizes each reference as Read / Write / Test / Other and judges whether usage is test-only, production-only, mixed, or over-tested in isolation.
- Constructor and API audit recipes: Focuses on
Type::new-style constructors and trait/public API entry points to find candidates for demotion, #[cfg(test)], or fixture extraction.
- Encapsulation signal via Read vs Write: When available, uses Read/Write sub-counts to flag diffuse invariants caused by heavy write fan-in.
- Per-symbol actionable output: Produces a verdict, counts, top consumers, recommended action, and notes about limitations of the heuristic.
Quick Start
Ask your AI to analyze a specific symbol by running who_uses_summary for the target after building the hypergraph for the repository.