An alias-based formulation of the borrow checker
Summary
A Rust blog post proposing an alias-based alternative formulation of the borrow checker. It treats lifetimes as regions defined by sets of loans, uses Datalog rules to propagate subset and borrow relationships across the MIR-based control-flow graph, and introduces live-region and kill concepts to refine error reporting. The article argues this approach could address limitations of the current NLL design and discuss implications for future Rust features.