Analysis Limitations
Where Rust Doctor can abstain and how completeness affects score authority.
Rust Doctor reports the evidence it can establish. It does not turn missing evidence into a clean result.
#Syntax analysis
Custom rules built on syn do not resolve Rust types or expand external
macros. A rule that needs unavailable semantic evidence should abstain instead
of asserting a confirmed defect. Heuristic rules remain opt-in until corpus
results support enabling them by default.
#Compiler analysis
Rustc and Clippy evidence depends on successful package analysis. A narrowed reporting scope can still require package-level compilation, and build errors can leave required analysis incomplete.
#Framework capabilities
Framework rules depend on the package's resolved dependency version, enabled Cargo features, and target context. Unknown versions, renamed dependencies, disabled optional features, and ambiguous re-exports can disable the affected rule pack.
#External analyzers
Optional tools such as cargo-audit, cargo-deny, and cargo-machete may be
missing or unavailable. Rust Doctor records those checks as skipped, failed,
or timed out. Required checks never silently fail open.
#Score authority
The score is a triage signal, not proof that a project is defect-free. Rust Doctor marks it non-authoritative when planned files or required checks did not complete. Read completeness, check states, severity, and project context alongside the score.