What it cannot do
Where Rust Doctor abstains, and why an incomplete scan says so instead of scoring anyway.
Rust Doctor reports the evidence it can establish. It does not turn missing evidence into a clean result.
#Text, not types
The four native producers parse source text, read manifests, or ask git what it tracks. They do not resolve types, expand macros, or follow re-exports, so a detector that would need semantic evidence abstains rather than asserting a defect it cannot prove. Clippy is the only pass with the compiler behind it, and the only pass that compiles anything.
#A rule is admitted on measurement, not on intuition
Every catalogued rule is measured against ten public repositories pinned by commit, and each publishes its adjudicated precision. A rule the corpus never triggered is published as unproven: it means those ten repositories never gave it the chance to fire, not that it does not work.
The measured noise rate ranks what to fix first. It never reduces what a rule costs the score, because what a rule costs is what it reported.
#Structure has a budget
The structural pass stops at a wall-clock budget of ten seconds and says so rather than running long on a large workspace. When it stops early, the report carries the failure at its stage and the score drops its authoritative flag.
#An incomplete scan is not a clean one
If a pass fails, the report is still complete, and it carries a ReportError
at that stage with the score's authoritative flag dropped. The number stays
visible and stops being a verdict. Read complete and errors before reading
score.
The most common cause is a missing clippy component, or a workspace whose
build errors prevent analysis. In both cases 37 of the 62 rules never ran.
#The score is a triage signal
It ranks where to look, it does not prove a codebase is defect-free. Severity, the evidence behind a finding, and what the project is for remain part of the decision.