Reasoning about Rust: an introduction to Rustdoc's JSON format
summary
Rustdoc's JSON format gives a versioned, machine‑parsable schema of crate APIs so tools can compare releases, query exposed dependency types, and generate code. Examples include Rustdoc's JSON format driving cargo-semver-checks to diff two JSONs and it already found several semver violations in popular crates; another tool checks which dependency types leak into a public API and the AWS SDK team uses it. Limitations: no function bodies, complex trait resolution, and the format is unstable but headed toward stabilization.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:03Adopting Rust at scale
- 4:51Compiler analysis limits
- 6:13Macros code analysis limits
- 10:52Compiler internals aren't solution
- 12:19Rustdoc JSON format
- 17:21Versioned JSON advantages
- 18:03Tools using Rustdoc JSON
- 21:15Rustdoc JSON limitations
- 23:19Future of Rust tooling
related talks
25mAugmented docs: a love letter to rustdoc and docs.rs
27mParsing Rust code considered harmful
33mDeclarative programming in Rust
35mWhat it'll take to eradicate unintended breakage from Rust
58mRust for The Curious C++ Developers
31mThe Dark Secrets Lurking Inside cargo doc
28mGenerating ergonomic C++ APIs using Rustdoc, procedural macros, and Serde
38mMaking Rust Delightful
