Closed
Description
Transition fully to NLL (instead of the migration mode currently used).
- one currently opts into this via
#![feature(nll)]
or-Z borrowck=mir
- It gets rid of AST-region inference errors, causing some code to be accepted that is rejected by migrate mode, and changing diagnostics in many cases.
- Potential blockers:
- ~NLL-sound bugs that affect NLL mode without migration
NLL accepts higher-ranked subtype that non-NLL rejects #57642 (needs test for now)
- Diagnostic differences
- Migrate compare-mode=NLL test differences to revisions (to ease stabilization PR and meticulously check diagnostic differences)
Two-phase borrows (2PB) question: [NLL] prohibit "two-phase borrows" with existing borrows? #56254Must have crater run showing no major crates fail in practice (crater run to estimate impact of full NLL transition #60680)- coercion becomes order dependent for higher-ranked functions #73154
- Likely needs changes to the leak check
Investigate [NLL] Lifetimes errors in a function can mask later errors in same function #96331- Diagnostics-only change, should be fine
- ~NLL-sound bugs that affect NLL mode without migration