Reasoning about Rust: an introduction to Rustdoc's JSON format
How do you statically analyze a Rust codebase without unstable compiler internals? Discover Rustdoc's JSON format, a stable API for building powerful developer tools.
#1about 6 minutes
Reasoning about large-scale Rust projects
Large codebases introduce challenges in governance, architecture, and security that require automated tooling beyond standard linters.
#2about 6 minutes
The limitations of macros for static analysis
Procedural macros execute at compile-time but are limited because they operate on token streams without access to type information or a reflection API.
#3about 6 minutes
Using Rustdoc's JSON format for machine-readable APIs
Rustdoc can output a versioned JSON representation of a crate's public API, providing a stable, machine-parsable format for building custom tools.
#4about 3 minutes
Practical examples of tools using Rustdoc JSON
Explore tools like cargo-semver-checks, cargo-check-external-types, and the pavex framework that leverage Rustdoc JSON for tasks like versioning and dependency injection.
#5about 3 minutes
Limitations and future outlook for Rustdoc JSON
The format is not a silver bullet as it lacks function body information, but it represents a vital first step for building advanced meta-tooling for Rust.
#6about 4 minutes
Q&A on ecosystem integration and custom metadata
Discussion covers how Rustdoc JSON integrates into the CI toolchain and the current inability to add custom metadata attributes for project-specific tooling.
#7about 10 minutes
Q&A on adoption challenges and future improvements
Common pitfalls include linking data across crates, while future improvements may include stable identifiers, stabilization, and better multi-version support.
#8about 8 minutes
The origin of the 'Zero To Production in Rust' book
The book was created to bridge the gap between learning Rust syntax and building a complete, production-grade backend application.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
06:57 MIN
Exploring the power and pitfalls of Rust macros
Crafting Custom Frameworks with Rust: A Deep Dive into Procedural Macros
11:57 MIN
Q&A on testing, nightly Rust, and framework design
Crafting Custom Frameworks with Rust: A Deep Dive into Procedural Macros
01:46 MIN
The future of Rust in modern web development
Get ready to Rustle
03:38 MIN
Exploring small features that improve developer productivity
A Love Letter to Rust
05:39 MIN
Q&A on Rust, `instanceof` alternatives, and `ts-reset`
4 reasons why you should learn Rust in 2021 – and maybe even have fun doing itRust is considered complex and a programming language with a steep learning curve. That's one side of the medal. We mention four points that Rust has ahead of other programming languages in terms of user-friendliness. Rust is a modern programming lan...
Chris Heilmann
Dev Digest 136 - No JS(on) of mineNews and ArticlesDouglas Crockford is our featured video, so let's talk about evolving JavaScript and all things JSON. Judicious JSON explains all the weird things in it, you can learn why it can be incredibly slow, people wonder what even is a JSON ...
Chris Heilmann
Douglas Crockford - JSON and BeyondBack at the WeAreDevelopers World Congress in July, Douglas Crockford took the stage to tell the JSON story and what's next. You can watch the video or read all about it here.IntroductionHello dear friends! Today, we delve into the world of data inte...
Daniel Cranney
Building AI Solutions with Rust and DockerIn recent years, artificial intelligence has surged in popularity in the world of development. While Python remains a popular choice in the realm of AI, Rust - often known as Rust Lang - is quickly emerging as a formidable alternative.Rust programmin...
From learning to earning
Jobs that call for the skills explored in this talk.