-
Notifications
You must be signed in to change notification settings - Fork 13.4k
inline next() on &mut Iterator impl #89774
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? @m-ou-se (rust-highfive has picked a reviewer for you, use r? to override) |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit a398b6b with merge eb61fdba9cf2f7d6351ac9958b767cff681af8fc... |
☀️ Try build successful - checks-actions |
Queued eb61fdba9cf2f7d6351ac9958b767cff681af8fc with parent 6ae8912, future comparison URL. |
Finished benchmarking commit (eb61fdba9cf2f7d6351ac9958b767cff681af8fc): 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. 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 led to changes in compiler perf. @bors rollup=never |
This now addresses the FIXME from #87431 since |
Thanks! @bors r+ |
📌 Commit f1c588f has been approved by |
⌛ Testing commit f1c588f with merge 989cc355cd00e5b9b66575f8c30a9176d10dc2b5... |
💥 Test timed out |
That may have been due to sccache invalidation caused by the github runner upgrade. Let's wait and see how the next PR in the queue fares. |
@bors retry |
☀️ Test successful - checks-actions |
Finished benchmarking commit (ef4b306): 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 |
In #87431 I found that
(&mut range).fold
doesn't optimize well because the default impl for forfold
on&mut Iterator
doesn't inlinenext
. In that particular case it was worked around by usingtry_fold
which takes a&mut self
instead ofself
.Let's see if this can be fixed more broadly.