What it'll take to eradicate unintended breakage from Rust
summary
Rust has a measurable breakage problem: a 2023 study across the top 10,000 crates finds 1–2 severe‑breaking releases per week and more than one in six crates has shipped accidental breakage. Cargo’s server‑checks approach builds rustdoc JSONs (taking 90–95% of runtime building rustdoc JSON) and runs ~140 lints (currently ~140 lints doubling yearly), but gaps remain: reexports and inference breakage slip through. Proposed fixes include hosting rustdoc JSON from docs.rs, adding rustdoc metadata at publish, and a cargo update‑fix prototype that rewrites inferred types.
AI-written summary · about
chapters (8)
- 0:00Introduction and context
- 2:27The problem of breakage
- 6:12Challenges in detection
- 14:22Improving stabilization
- 17:52Data and performance issues
- 22:16Fixing non-major breakage
- 25:26Sociotechnical challenges
- 30:14Empathy and future outlook
related talks
32mBuilding and Maintaining Rust at Scale
26m"Putting an End to Accidental SemVer-Breaking Changes"
31mImproving Your Rust Life
14mAn Empirical Study of Bugs in the rustc Compiler
45mBuilding Safe and Secure Systems in Rust
59mRust in Production
18mThe Death and Rebirth of Docs.rs
27mParsing Rust code considered harmful
