-
Notifications
You must be signed in to change notification settings - Fork 13.3k
resolve: Use NameBinding
for local variables and generic parameters
#89100
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
Conversation
r? @estebank (rust-highfive has picked a reviewer for you, use r? to override) |
@bors r+ |
📌 Commit e4e3c9a has been approved by |
resolve: Use `NameBinding` for local variables and generic parameters `NameBinding` is a structure used for representing any name introduction (an item, or import, or even a built-in). Except that local variables and generic parameters weren't represented as `NameBinding`s, for this reason they requires separate paths in name resolution code in several places. This PR introduces `NameBinding`s for local variables as well and simplifies all the code working with them leaving only the `NameBinding` paths.
@bors rollup=iffy |
e4e3c9a
to
c1e8fc8
Compare
@bors r=cjgillot |
📌 Commit c1e8fc8 has been approved by |
⌛ Testing commit c1e8fc8 with merge 4a2bec300777fb1a2450c5dd87f7b00792b99969... |
💥 Test timed out |
@bors retry |
@bors retry test-various hung after downloading the docker image, no clear reason. |
☀️ Test successful - checks-actions |
Finished benchmarking commit (6162529): comparison url. Summary: This benchmark run did not return any relevant changes. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression |
Finished benchmarking commit (6162529): comparison url. Summary: ERROR categorizing benchmark run! @rustbot label: -perf-regression |
Finished benchmarking commit (6162529): comparison url. Summary: This change led to very large relevant regressions 😿 in compiler performance.
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 |
This'll need some manual checking locally to verify the regression given the potential environment changes to the collector, I'll try to do that. |
I'm pretty confident the regression is real. There's wall time regressions (including in e.g. self-profile results), so it seems to bear out in practice. @petrochenkov I am inclined to revert this temporarily until there's a fix, unless the fix is simple and can be landed on the roughly same timeframe. |
Wow, not something that I'd expect. |
…illot" This reverts commit 6162529.
Posted a revert #90130. |
…=oli-obk Revert "resolve: Use NameBinding for local variables and generic parameters" This reverts commit 6162529, that is, PR rust-lang#89100. Reverting per performance regression noted post-merge on that PR (rust-lang#89100 (comment)).
NameBinding
is a structure used for representing any name introduction (an item, or import, or even a built-in).Except that local variables and generic parameters weren't represented as
NameBinding
s, for this reason they requires separate paths in name resolution code in several places.This PR introduces
NameBinding
s for local variables as well and simplifies all the code working with them leaving only theNameBinding
paths.