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

Lifetime elision rules in self types #63003

Closed
taiki-e opened this issue Jul 26, 2019 · 3 comments
Closed

Lifetime elision rules in self types #63003

taiki-e opened this issue Jul 26, 2019 · 3 comments
Assignees
Labels
A-inference Area: Type inference A-lifetimes Area: Lifetimes / regions C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. I-needs-decision Issue: In need of a decision. T-lang Relevant to the language team, which will review and decide on the PR/issue.

Comments

@taiki-e
Copy link
Member

taiki-e commented Jul 26, 2019

This issue tracking lifetime elision rules in self types.

Here are test cases of elision rules introduced in #61207: https://github.com/rust-lang/rust/blob/d79d13f9e6ca05f2002446addfbd68e63e419cc1/src/test/ui/self/elision/README.md
This rule has already been applied in Rust 1.36 (see #62209).

@taiki-e

This comment has been minimized.

@rustbot rustbot added the T-lang Relevant to the language team, which will review and decide on the PR/issue. label Jul 26, 2019
@Centril Centril added C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. I-needs-decision Issue: In need of a decision. A-lifetimes Area: Lifetimes / regions A-inference Area: Type inference labels Jul 26, 2019
@taiki-e
Copy link
Member Author

taiki-e commented Aug 8, 2019

Update:

@Mark-Simulacrum Mark-Simulacrum self-assigned this Jun 15, 2022
@Mark-Simulacrum
Copy link
Member

I think this is no longer relevant -- it's not clear what else we have to track here. In practice the decision to prioritize self types for lifetime elision (even in nested cases. e.g., within Pin<&mut Self>) seems to not be one we can readily change at this point (it's pretty widely used I suspect).

My suspicion is that this was tracking the change to the elision rules prior to the decision to change things, but that's now been done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-inference Area: Type inference A-lifetimes Area: Lifetimes / regions C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. I-needs-decision Issue: In need of a decision. 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