Skip to content

two-phase-borrows need a specification #46901

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
pnkfelix opened this issue Dec 21, 2017 · 10 comments
Open

two-phase-borrows need a specification #46901

pnkfelix opened this issue Dec 21, 2017 · 10 comments
Assignees
Labels
A-NLL Area: Non-lexical lifetimes (NLL) C-enhancement Category: An issue proposing an enhancement or a PR with one. E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. NLL-reference Reference material for NLL P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-lang Relevant to the language team

Comments

@pnkfelix
Copy link
Member

Spawned off of #46887 (comment): While our short term solution for two-phase borrow support (#46037) is to make it as conservative as we can (e.g. the still planned #46747), the reality is that its complex and needs a specification.

(It might even be worth the exercise of adding them to the https://github.com/nikomatsakis/borrowck model )

@pnkfelix pnkfelix added A-borrow-checker Area: The borrow checker A-NLL Area: Non-lexical lifetimes (NLL) E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. and removed A-borrow-checker Area: The borrow checker labels Dec 21, 2017
@pnkfelix
Copy link
Member Author

hmm is this "covered" by "adjust documentation" on #44100? Somehow I suspect that the adjustment expected there did not account for how subtle the corner cases here might be.

@XAMPPRocky XAMPPRocky added the C-enhancement Category: An issue proposing an enhancement or a PR with one. label Mar 26, 2018
@pnkfelix
Copy link
Member Author

pnkfelix commented May 8, 2018

cc @bobtwinkles who did the two phase borrows rewrite (#48770)

@nikomatsakis
Copy link
Contributor

I'm going to push this to "the final milestone" -- I do think we want to "freeze" a spec for NLL as it is implemented (pending polonius improvements).

@pnkfelix
Copy link
Member Author

pnkfelix commented Nov 8, 2018

Visited for T-compiler triage. I cannot imagine us blocking the release on this (even though it is of course desirable.)

I-nominating for discussion at next WG-compiler-nll meeting

@pnkfelix
Copy link
Member Author

unnominating. We'll get to this when we get to all the NLL-deferred issues, and right now its just clogging up T-compiler process.

@pnkfelix
Copy link
Member Author

Re-triaging for #56754. P-high. Assigning to self.

@pnkfelix pnkfelix added P-high High priority and removed NLL-deferred labels Dec 19, 2018
@pnkfelix pnkfelix self-assigned this Dec 19, 2018
@pnkfelix
Copy link
Member Author

(it would be good to take care of this in tandem with resolving the question of #56254 )

@pnkfelix
Copy link
Member Author

subtask of #54129

@pnkfelix
Copy link
Member Author

triage: should we realistically continue keeping this at P-high? (I've been absent but the fact that no one prioritized work-stealing it while I was gone for three weeks makes me wonder if it is in fact a P-medium issue...)

@pnkfelix
Copy link
Member Author

pnkfelix commented May 2, 2019

triage: downgrading from P-high to P-medium.

@pnkfelix pnkfelix added P-medium Medium priority and removed P-high High priority labels May 2, 2019
@jonas-schievink jonas-schievink added the T-lang Relevant to the language team label Dec 10, 2019
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-NLL Area: Non-lexical lifetimes (NLL) C-enhancement Category: An issue proposing an enhancement or a PR with one. E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. NLL-reference Reference material for NLL P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-lang Relevant to the language team
Projects
None yet
Development

No branches or pull requests

4 participants