Summary
Make a stabilizable version of the polonius next generation borrow checking "alpha" algorithm. This revision of the analysis, while less powerful than we hoped, currently scales better than the previous datalog implementation, and accepts the main problem case we deferred from NLLs: it handles almost all our in-tree tests, passes perf runs (but is still too slow) and crater runs without issues. It's therefore a worthwhile step to ship to users, but needs more work to be properly usable on nightly.
This goal is a continuation of the 2025h1 goal.
Tasks and status
Note: we have updated the body to match the 2025h2 goal. Your original text is preserved below.
Details
Summary
Keep working on implementing a native rustc version of the Polonius next generation borrow checking algorithm, that would scale better than the previous datalog implementation, continuing from the 2024h2 goal.
Tasks and status
Summary
Make a stabilizable version of the polonius next generation borrow checking "alpha" algorithm. This revision of the analysis, while less powerful than we hoped, currently scales better than the previous datalog implementation, and accepts the main problem case we deferred from NLLs: it handles almost all our in-tree tests, passes perf runs (but is still too slow) and crater runs without issues. It's therefore a worthwhile step to ship to users, but needs more work to be properly usable on nightly.
This goal is a continuation of the 2025h1 goal.
Tasks and status
Note: we have updated the body to match the 2025h2 goal. Your original text is preserved below.
Details
Summary
Keep working on implementing a native rustc version of the Polonius next generation borrow checking algorithm, that would scale better than the previous datalog implementation, continuing from the 2024h2 goal.
Tasks and status
'staticconstraints — PR #123720