Publishing High-Quality Crates
summary
Walks through concrete practices: use cargo-semver-checks to detect API breakage, run Miri in CI for unsafe code, and instrument releases with Git tags and a changelog. Covers real choices like slices vs Vec and str vs String vs Cow, when to prefer enums over traits, when unsafe is justified (example: benchmarking library Divan), and how to test docs, examples/, and multi-platform builds so published crates are actually maintainable.
AI-written summary · about
chapters (15)
- 0:00Rust library publishing intro
- 1:46Borrowing vs ownership in Rust APIs
- 4:50String vs string slice design
- 6:13Metaprogramming in Rust
- 9:27Traits vs enums for APIs
- 11:31Foreign function interface challenges
- 13:19Performance and unsafe code
- 15:50Testing and docs best practices
- 19:23CI for Rust libraries
- 20:26Publishing first Rust crate
- 21:51Semantic versioning in Rust
- 23:56API compatibility checks
- 25:01Minimum supported Rust version policies
- 26:05Maintaining Rust libraries
- 27:53Closing remarks
related talks
32mBuilding and Maintaining Rust at Scale
22mShipping a Solid Rust Crate
45mBuilding Safe and Secure Systems in Rust
50mCrate security in 2025
59mRust for C++ developers - What you need to know to get rolling with crates
58mRust for The Curious C++ Developers
28mBuild bigger in less time: code testing beyond the basics
31mImproving Your Rust Life
