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

Reason about nested lifetimes that appear in types #5728

Closed
nikomatsakis opened this issue Apr 4, 2013 · 1 comment
Closed

Reason about nested lifetimes that appear in types #5728

nikomatsakis opened this issue Apr 4, 2013 · 1 comment
Assignees
Labels
A-lifetimes Area: lifetime related A-typesystem Area: The type system

Comments

@nikomatsakis
Copy link
Contributor

This is a kind of subtle change to the type system needed for #5656. An explanantion is here: http://smallcultfollowing.com/babysteps/blog/2013/04/04/nested-lifetimes/

@ghost ghost assigned nikomatsakis Apr 4, 2013
nikomatsakis added a commit to nikomatsakis/rust that referenced this issue Apr 9, 2013
signature.  In a nutshell, the idea is to (1) report an error if, for
a region pointer `'a T`, the lifetime `'a` is longer than any
lifetimes that appear in `T` (in other words, if a borrowed pointer
outlives any portion of its contents) and then (2) use this to assume
that in a function like `fn(self: &'a &'b T)`, the relationship `'a <=
'b` holds. This is needed for rust-lang#5656.  Fixes rust-lang#5728.
nikomatsakis added a commit to nikomatsakis/rust that referenced this issue Apr 10, 2013
signature.  In a nutshell, the idea is to (1) report an error if, for
a region pointer `'a T`, the lifetime `'a` is longer than any
lifetimes that appear in `T` (in other words, if a borrowed pointer
outlives any portion of its contents) and then (2) use this to assume
that in a function like `fn(self: &'a &'b T)`, the relationship `'a <=
'b` holds. This is needed for rust-lang#5656.  Fixes rust-lang#5728.
@nikomatsakis
Copy link
Contributor Author

This landed as part of #5827 (issue #5656)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-lifetimes Area: lifetime related A-typesystem Area: The type system
Projects
None yet
Development

No branches or pull requests

1 participant