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

Resolve elided lifetimes in assoc const to static if no other lifetimes are in scope #125258

Merged
merged 3 commits into from
Jun 17, 2024

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented May 18, 2024

Implements the change to elided lifetime resolution in associated consts subject to FCP here: #125190 (comment)

Specifically, walk the enclosing lifetime ribs in an associated const, and if we find no other lifetimes, then resolve to 'static.

Also make it work for traits, but don't lint -- just give a hard error in that case.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 18, 2024
@compiler-errors compiler-errors changed the title Resolve elided lifetimes in assoc const to static if no other lifetim… Resolve elided lifetimes in assoc const to static if no other lifetimes are in scope May 18, 2024
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented May 22, 2024

☔ The latest upstream changes (presumably #124417) made this pull request unmergeable. Please resolve the merge conflicts.

@compiler-errors
Copy link
Member Author

oh lol the FCP finished a couple week ago:

#125190 (comment)

Let me add tests and bump this out of draft.

@compiler-errors compiler-errors marked this pull request as ready for review June 14, 2024 01:23
@compiler-errors
Copy link
Member Author

r? compiler

@rust-log-analyzer

This comment has been minimized.

@nnethercote
Copy link
Contributor

This stuff is not my area of expertise but there are good comments, tests, and I don't see anything problematic.

@bors r+

@bors
Copy link
Contributor

bors commented Jun 17, 2024

📌 Commit 5f3357c has been approved by nnethercote

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 17, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 17, 2024
Rollup of 8 pull requests

Successful merges:

 - rust-lang#125258 (Resolve elided lifetimes in assoc const to static if no other lifetimes are in scope)
 - rust-lang#126250 (docs(change): Don't mention a Cargo 2024 edition change for 1.79)
 - rust-lang#126288 (doc: Added commas where needed)
 - rust-lang#126346 (export std::os::fd module on HermitOS)
 - rust-lang#126468 (div_euclid, rem_euclid: clarify/extend documentation)
 - rust-lang#126531 (Add codegen test for `Request::provide_*`)
 - rust-lang#126535 (coverage: Arrange span extraction/refinement as a series of passes)
 - rust-lang#126538 (coverage: Several small improvements to graph code)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 23b936f into rust-lang:master Jun 17, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jun 17, 2024
@bors
Copy link
Contributor

bors commented Jun 17, 2024

⌛ Testing commit 5f3357c with merge fd7eefc...

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 17, 2024
Rollup merge of rust-lang#125258 - compiler-errors:static-if-no-lt, r=nnethercote

Resolve elided lifetimes in assoc const to static if no other lifetimes are in scope

Implements the change to elided lifetime resolution in *associated consts* subject to FCP here: rust-lang#125190 (comment)

Specifically, walk the enclosing lifetime ribs in an associated const, and if we find no other lifetimes, then resolve to `'static`.

Also make it work for traits, but don't lint -- just give a hard error in that case.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants