-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Report undeclared lifetimes during late resolution. #95779
Conversation
Some changes occurred in src/tools/rustfmt. |
This comment was marked as resolved.
This comment was marked as resolved.
} | ||
|
||
#[tracing::instrument(level = "debug", skip(self))] | ||
fn resolve_anonymous_lifetime(&mut self, lifetime: &Lifetime, elided: bool) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is confusing because it doesn't actually resolve anything, only reports errors, but I guess the missing part is just introduced in some future commit.
1b77723
to
d128994
Compare
r=me after addressing #95779 (comment) and squashing review commits into main commits. |
d128994
to
d136af6
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit d136af68aa1dd6735d0201a12769cc89e489be04 with merge 084f7019b88c60ebb175e17abc7c6515be0a04b7... |
☀️ Try build successful - checks-actions |
Queued 084f7019b88c60ebb175e17abc7c6515be0a04b7 with parent e7575f9, future comparison URL. |
Finished benchmarking commit (084f7019b88c60ebb175e17abc7c6515be0a04b7): comparison url. Summary:
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Footnotes |
📌 Commit d136af68aa1dd6735d0201a12769cc89e489be04 has been approved by |
d136af6
to
e628df9
Compare
@bors r+ |
📌 Commit e628df9 has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (1ec2c13): comparison url. Summary:
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression Footnotes |
@@ -95,7 +95,7 @@ pub enum LifetimeName { | |||
/// User wrote nothing (e.g., the lifetime in `&u32`). | |||
/// | |||
/// The bool indicates whether the user should have written something. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment is now out of date.
Visiting for weekly performance triage
@rustbot label: +perf-regression-triaged |
…petrochenkov Report undeclared lifetimes during late resolution. First step in rust-lang#91557 We reuse the rib design of the current resolution framework. Specific `LifetimeRib` and `LifetimeRibKind` types are introduced. The most important variant is `LifetimeRibKind::Generics`, which happens each time we encounter something which may introduce generic lifetime parameters. It can be an item or a `for<...>` binder. The `LifetimeBinderKind` specifies how this rib behaves with respect to in-band lifetimes. r? `@petrochenkov`
First step in #91557
We reuse the rib design of the current resolution framework. Specific
LifetimeRib
andLifetimeRibKind
types are introduced. The most important variant isLifetimeRibKind::Generics
, which happens each time we encounter something which may introduce generic lifetime parameters. It can be an item or afor<...>
binder. TheLifetimeBinderKind
specifies how this rib behaves with respect to in-band lifetimes.r? @petrochenkov