Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upNon-lexical lifetimes #16
Comments
aturon
added
Project
T-compiler
T-lang
labels
Jan 31, 2017
This was referenced Jan 31, 2017
This comment has been minimized.
This comment has been minimized.
|
@pnkfelix Can you flesh out this issue with a paragraph or two of overview, and some bullets for the status? |
This comment has been minimized.
This comment has been minimized.
|
@aturon can you give me edit access to the issue description? |
This comment has been minimized.
This comment has been minimized.
|
@pnkfelix Gah! Done now. |
This comment has been minimized.
This comment has been minimized.
|
(Please restrict comments to discussions about how to achieve the goal and for tracking progress towards the goal) |
This comment has been minimized.
This comment has been minimized.
|
Updates: a basic design is being proposed in a new blog series: |
This comment has been minimized.
This comment has been minimized.
|
Updates: added notes regarding |
This comment has been minimized.
This comment has been minimized.
burdges
commented
Jun 10, 2017
|
I've occasionally run into with a function like |
mark-i-m
referenced this issue
Jul 18, 2017
Closed
Idea: change the desugaring of `if let` to improve borrow checking #2068
This comment has been minimized.
This comment has been minimized.
vadixidav
commented
Jul 19, 2017
|
@pnkfelix Your branch seems to have been silent for a while. Are there any blockers here and what is the current status? |
This comment has been minimized.
This comment has been minimized.
christopherdumas
commented
Jul 23, 2017
|
@vadixidav I've been just watching from afar here, but it looks like (according to the Rust Blog) the design is not quite complete enough to finish implementing? |
This comment has been minimized.
This comment has been minimized.
BatmanAoD
commented
Jun 6, 2018
|
FYI, this issue is still one of the top Google results for "rust non-lexical lifetimes" and variations thereof. It might be good to link to rust-lang/rust#43234 or something in the top comment. |
aturon commentedJan 31, 2017
•
edited by pnkfelix
Point of contact
@pnkfelix @nikomatsakis
Tracking issue: rust-lang/rust#43234
Overview
See @nikomatsakis's blog posts (intro, NLL via liveness, the outlives relation) for an overview.
We want the lifetimes implicitly attached to borrows
&exprto be refined, so that instead of being associated (sometimes loosely) with a lexical scope, each lifetime would now map to something else, (e.g. a set of points in the control-flow graph, though this alone is problematic unless it includes some context-sensitivity incorporating liveness)A proposed design appears in a more recent blog series:
Status
(steps needed for NLL and their current status)
EndRegionstatements) rust-lang/rust#39409EndRegionstatements and allow more (sound) code through.