An alias-based formulation of the borrow checker (2018)
A developer discusses an experimental, alias-based formulation of the Rust programming language's borrow checker. The goal is to improve performance and handle edge cases that the current system struggles with, though the prototype is currently slower than the existing implementation.
Why it matters
This technical discussion is significant for the Rust programming community as it explores fundamental improvements to memory safety and compiler efficiency.
Ever since the Rust All Hands, I've been experimenting with an alternative formulation of the Rust borrow checker. The goal is to find a formulation that overcomes some shortcomings of the current proposal while hopefully also being faster to compute. I have implemented a prototype for this analysis. It passes the full NLL test suite and also handles a few cases - such as #47680 - that the current NLL analysis cannot handle. However, the performance has a long way to go (it is currently slower than existing analysis). That said, I haven't even begun to optimize yet, and I know I am doing some naive and inefficient things that can definitely be done better; so I am still optimistic we'll be able to make big strides there.
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in