The First Six Years in the Development of Polonius, an Improved Borrow Checker
Rust’s secret sauce is the (im)famous borrow checker, the analysis component of the compiler that ensures memory safety. The current borrow checker rejects desirable programming patterns, notably most interesting uses of lending iterators, due to imprecision in its analysis of program flow. A new borrow checker called Polonius, meant to address these shortcomings, has been in the making since 2018. This presentation will go into the details of Polonius and how it differs from the current non-lexical lifetimes implementation of the borrow checker. It will describe the Polonius working group’s foray into dataflow analysis using Datalog and how it was abandoned, present the current plan for getting Polonius on the road, and (very briefly) discuss what this might mean for the future of Rust.
Slides (IWACO2024.pdf) | 11.4MiB |
PhD student in ”web security”. .i mi na se bangu la lojban. Ask me about Polonius!
Pronouns are she/her.
Also available online at:
- @amanda@social.spejset.org (Mastodon)
- @amanda.systems (Bluesky)
Mon 21 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:30 | |||
16:00 30mTalk | The First Six Years in the Development of Polonius, an Improved Borrow Checker IWACO Amanda Stjerna Uppsala university File Attached | ||
16:30 30mTalk | Data-Race Safety for the Masses IWACO Holly Borla Apple, Inc, | ||
17:00 30mTalk | Linearity, Uniqueness, Ownership: An Entente Cordiale IWACO Danielle Marshall University of Glasgow |