Teaching an IDE to understand Rust
summary
RLS integrates with the LSP and leverages Cargo, rustc, racer and rustfmt to provide in-editor diagnostics, go-to-definition, find-references and completions; roughly 30% of users name IDE support as the top request and 22% of non-users cite its absence. The implemention adds cargo workspaces support by caching Cargo’s dependency graph, replaying captured compiler invocations and running in-process compiler invocations to avoid repeated spawn and heavy disk I/O; workspace mode is experimental but shows that diagnostics and completions across members work.
AI-written summary · about
chapters (16)
- 0:00Start
- 3:27Responsibilities
- 4:16Reusing existing tools
- 11:10Why should RLS bother?
- 11:41Dependency graph (simply)
- 12:40Example: WebRender
- 13:23Topological sorting
- 14:33Implicit package target dependencies
- 15:05Transformation
- 16:06What's a workspace?
- 16:53Single package target mode
- 18:44Workspace mode
- 21:16Coordinating a build on our own
- 21:39Mapping changed files
- 22:01Marking transitive dependencies
- 22:33Creating a build plan
related talks
28mAre we actually IDE yet? - A look on current Rust IDE story
25mAre we *actually* IDE yet? A look on the Rust IDE Story
35mRust and Eclipse
25mLessons Learned From the Rust Ecosystem That Can Be Adopted Elsewhere
06m“RustRover in 2025: Code • Debug • AI”
35mCore Team Keynote
01h 42mIntroduction to Rust (for people who have never used a compiler)
25m"Compiler-Driven Development: Making Rust Work for You"
