Skip to content
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

two-phase-borrows need a specification #46901

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, which will review and decide on the PR/issue.

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, which will review and decide on the PR/issue. label Dec 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants