-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Create a single source scope for promoteds #77947
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
A promoted inherits all scopes from the parent body. At the same time, almost all statements and terminators inside the promoted body so far refer only to one of those scopes: the outermost one. Instead of inheriting all scopes, inherit only a single scope corresponding to the location of the promoted, making sure that there are no references to other scopes.
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit db54752 with merge d45df2a1b384b24d005da28b248e0238118031e7... |
☀️ Try build successful - checks-actions, checks-azure |
Queued d45df2a1b384b24d005da28b248e0238118031e7 with parent 5565241, future comparison URL. |
Finished benchmarking try commit (d45df2a1b384b24d005da28b248e0238118031e7): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
r? @oli-obk |
@bors r+ |
📌 Commit db54752 has been approved by |
⌛ Testing commit db54752 with merge 91e122a9d06bbe1b4049eae53f4f4607ca93ddaf... |
💔 Test failed - checks-actions |
@bors retry |
☀️ Test successful - checks-actions, checks-azure |
Tested on commit rust-lang/rust@9bd740a. Direct link to PR: <rust-lang/rust#77947> 💔 rls on windows: test-pass → test-fail (cc @Xanewok).
This is a nice perf improvement! That said, it looks like wall times are bit more mixed: https://perf.rust-lang.org/compare.html?start=b6e2dc6cdece6b498b876bc7e9377ff7d63d93e7&end=9bd740a8f17d75168b683bcfb077b6e450047df5&stat=wall-time. Those are always quite noisy, though, so I am inclined to leave things as is. |
A promoted inherits all scopes from the parent body. At the same time,
almost all statements and terminators inside the promoted body so far
refer only to one of those scopes: the outermost one.
Instead of inheriting all scopes, inherit only a single scope
corresponding to the location of the promoted, making sure that there
are no references to other scopes.