-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NLL: complete transition from migrate to full NLL #57895
Comments
triage: P-high. Assigning to self. |
While discussing #59114 at the T-lang design team meeting, one question that arose was whether we would move to hard error mode for both 2015 and 2018 at the same time, or if we would do it in a staged fashion (presumably on 2018 first and then following with 2015 sometime later). Discussion of that pointed out the detail that there are some languge features that depend, in some fashion, on NLL. An incomplete list follows:
The question then became whether those language feature depend solely on NLL migrate mode, or if they depend on NLL hard error mode. In particular, some features are deliberately choosing not to implement AST-borrowck support; in such cases, I can imagine an error under NLL migrate mode leading to an ICE (or worse, unsoundly accepting the code using a new feature with a mere warning) arising from migrate mode's attempt to run AST-borrowck when there was no support for that feature implemented in AST-borrowck. This provides some support for the argument that we should move to full NLL mode in a staged fashion, doing only 2018 edition first (and the 2018 can add support for the aforementioned language features), and waiting to move to full NLL on the 2015 edition later.
|
(updated ^ with links) |
I no longer think this is a P-high issue. It is something we want to do, and something I plan to keep track of, but it is not something that warrants visiting every week at the compiler meeting. triage: P-medium. |
|
I believe the only things that remain now are dealing with #57642 and #59159 and then we can remove migrate mode. Also, it's worth looking at https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3ANLL-sound+. |
This is a tracking issue for the work items remaining for the NLL team before we can consider NLL stabilized across all editions (see also #43234).
Here is an outline of the steps we have identified.
#![feature(nll)]
today)#![feature(nll)]
or-Z borrowck=mir -Z two-phase-borrows
)Blocking issues
mutable_borrow_reservation_conflict
compatibility lint #59159The text was updated successfully, but these errors were encountered: