Skip to content

NLL: turn on borrowck=migrate by default on 2015 edition #57804

Closed
@pnkfelix

Description

As a sub-step towards having NLL produce hard errors (rather than downgrading its errors to warnings) and removing the AST-borrowck code, we want to turn on the NLL migration mode (introduced with the 2018 edition) so that it operates in all editions. Namely, we want to introduce the -Z borrowck=migrate (and associated -Z two-phase-borrows) on the 2015 edition.

This is a subtask of #43234


On Zulip, @matthewjasper composed the following interesting table summarizing the open issues related to this, which I am transcribing here (with some light editing to replace pronouns with names).

all blocking issues are marked either P-High or NLL-Sound of those issues the current state is:

Issue number Blocks migrate Assigned To Notes
#46702 Yes @matthewjasper / @nikomatsakis Fixed by #57714
#56254 Yes @matthewjasper #58739
#57170 Yes @matthewjasper Fixed by #57202
#57731 Yes @matthewjasper Fixed by #57714
#58127 Yes @matthewjasper Fixed by #58347
#58178 Yes No @matthewjasper Good enough after #58347
#54105 No @nikomatsakis Needs to be fixed, but not clear what, if any, code this affects
#54940 No @nikomatsakis Obscure, no easy fix
#46901 No @pnkfelix need some idea what we're allowing for 2 phase borrows; (note #56254 above)
#54943 No @matthewjasper Fixed as part of #57714
#56993 No @nikomatsakis Just a test issue now
#57374 No @lqd / @nikomatsakis Not an issue in migrate mode

Metadata

Assignees

Labels

A-NLLArea: Non-lexical lifetimes (NLL)C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCP-highHigh priority

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions