# Enabling the next iteration of the borrow checker on nightly

DevFeed: [Enabling the next iteration of the borrow checker on nightly](<https://devfeed.tech/articles/enabling-the-next-iteration-of-the-borrow-checker-on-nightly-2347.md>)

Original publisher: [Read original article](<https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nightly/>)

Author: Jack Huey

Published: 2026-08-04T00:00:00Z

Content type: article

Language: en

Sources: [Rust Blog](<https://devfeed.tech/sources/rust-blog.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [performance](<https://devfeed.tech/tags/performance.md>), [rust](<https://devfeed.tech/tags/rust.md>), [testing](<https://devfeed.tech/tags/testing.md>)

## AI overview

Rust is enabling the Polonius Alpha borrow checker on nightly for testing ahead of planned stabilization. The new formulation provides flow-sensitive borrow checking for lifetime outlives relationships, potentially allowing code that current NLL borrow checking rejects, while nightly testing will help identify performance regressions, unsoundness, and diagnostic issues.

## Source excerpt

TL;DR We are enabling the next iteration of the borrow checker (coined Polonius Alpha) on nightly in preparation for stabilization in the next few months. Whaaaaaat? Yes! You heard it right! The next iteration of the Rust borrow checker is coming! Rust's first borrow checker ("AST borrowck") was very limited and was phased out in 2019 in favor of NLL, other than a "migrate mode" that was used to provide nice error messages. That migrate mode was finally removed in 2022. The Polonius borrow checker spun out of the NLL effort in 2018. The initial formulation passed the NLL test suite and accepted (sound) code that NLL did not. However, performance was a critically-limiting factor; generally borrow check was slower than NLL, but certain programs were considerably slower than NLL to the extent that using that implementation/formulation of Polonius was a non-starter. Attempts were made over the years to implement the Polonius formulation in a performant manner, without much luck in addressing the core issues. In 2023, a new formulation of a Polonius-style borrow checker was imagined that required minimal rearchitecture of the existing NLL implementation and could be extended to allow more code to compile. We had hoped, to try to stabilize this new formulation in 2024; but, various things popped up that delayed this. But! We're nearly there now! At this point, there are no known remaining issues with the subset coined Polonius Alpha that we intend to stabilize. And, performance is generally acceptable for stabilization (will discuss that a bit below). So, we are enabling the Polonius Alpha borrow checker on nightly for testing until we stabilize fully later in the year. We're doing this in order to help find: Any serious performance regressions we're unaware of Unsoundness in the formulation that we haven't thought about Any weird diagnostic issues that we need to improve Note: we have not yet seen any diagnostic changes You can report any issues on Github or on Zulip. Ok