The Rust Borrow Checker - A Deep Dive
summary
The talk claims the borrow checker not only enforces safety but actively guides fixes, and demonstrates that by compiling examples with cargo run and tracing through HIR into MIR before lowering to LLVM. It shows a concrete move-vs-borrow example where moving a String causes a use-after-move error and switching to a reference prints the string twice, explains how the checker tracks initializations and lifetimes, notes the five compiler stages, and mentions ongoing work like Polonius and Chalk.
AI-written summary · about
chapters (17)
- 0:00Intro
- 8:07Who am I
- 19:51Rust Compiler
- 23:00Tracking Initializations
- 26:40Example Code
- 26:52Using a Reference
- 27:44Lifetime Inference
- 27:55Lifetime Scope
- 29:00Lifetime
- 32:11Conclusion
- 33:14Questions
- 35:52Twitch Questions
- 38:29YouTube Questions
- 45:53Rust vs Ruby
- 46:55Extra Checks
- 48:48Explicit Lifetimes
- 50:17Back Pressure
related talks
38mThe Rust Borrow Checker: a Deep Dive
36mThe Rust Borrow Checker: A Deep Dive
22mThe Rust Borrow Checker - A Deep Dive
50mRust's Borrow Checker Proven Correct!
05mEmulating Rust's Borrow Checker in C++
27mHow Rust taught me to think about systems
26mThe first six years in the development of Polonius
32mThe First Six Years in the Development of Polonius, an Improved Borrow Checker
