-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Try to normalize associated types before processing obligations #90887
Conversation
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 27a4ade1fdb09446b39e8f0cd7fd7544d1de7e26 with merge 3f8ac3c8c9bdbe3ad503f8356af71c9f3a5242df... |
☀️ Try build successful - checks-actions |
Queued 3f8ac3c8c9bdbe3ad503f8356af71c9f3a5242df with parent b416e38, future comparison URL. |
Finished benchmarking commit (3f8ac3c8c9bdbe3ad503f8356af71c9f3a5242df): comparison url. Summary: This change led to large relevant regressions 😿 in compiler performance.
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. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never |
@jackh726 I don't recall us talking about this PR, have I just forgotten? Did you ever look at the perf results? |
@nikomatsakis I mentioned this at the end of our meeting on Monday. As far as perf, I haven't done anything more than just looking through the benchmarks. It looks like |
136ac6a
to
bcdd97b
Compare
This comment has been minimized.
This comment has been minimized.
@bors rollup=never |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit c920e6605cf55518ef9a7100395849e4914a8c75 with merge 2b9a45228e828686978ed677f84e1df9c4146666... |
Finished benchmarking commit (67b3e81): comparison url. Summary: This benchmark run did not return any relevant results. 20 results were found to be statistically significant but too small to be relevant. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression |
Add a couple tests for rust-lang#90887 fixes closes rust-lang#56556 closes rust-lang#90875 These are confirmed fixes by rust-lang#90887, so r? `@jackh726`
Add a couple tests for rust-lang#90887 fixes closes rust-lang#56556 closes rust-lang#90875 These are confirmed fixes by rust-lang#90887, so r? ``@jackh726``
Rollup of 7 pull requests Successful merges: - rust-lang#96329 (Add a couple tests for rust-lang#90887 fixes) - rust-lang#97009 (Allow `unused_macro_rules` in path tests) - rust-lang#97075 (Add regression test for rust-lang#81804) - rust-lang#97079 (Change `Successors` to `impl Iterator<Item = BasicBlock>`) - rust-lang#97080 (remove the `RelateResultCompare` trait) - rust-lang#97093 (Migrate `maybe_recover_from_bad_type_plus` diagnostic) - rust-lang#97102 (Update function pointer call error message) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 7 pull requests Successful merges: - rust-lang#96329 (Add a couple tests for rust-lang#90887 fixes) - rust-lang#97009 (Allow `unused_macro_rules` in path tests) - rust-lang#97075 (Add regression test for rust-lang#81804) - rust-lang#97079 (Change `Successors` to `impl Iterator<Item = BasicBlock>`) - rust-lang#97080 (remove the `RelateResultCompare` trait) - rust-lang#97093 (Migrate `maybe_recover_from_bad_type_plus` diagnostic) - rust-lang#97102 (Update function pointer call error message) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
…<try> never normalize without eager inference replacement unsure why we previously didn't do so, wasn't able to find an explanation in rust-lang#90887. This adds some complexity to the trait system and is afaict unnecessary, r? types cc `@jackh726`
…<try> some trait system cleanups Always eagerly replace projections with infer vars if normalization is ambig. Unsure why we previously didn't do so, wasn't able to find an explanation in rust-lang#90887. This adds some complexity to the trait system and is afaict unnecessary. The second commit simplifies `pred_known_to_hold_modulo_regions`, afaict the optional `fulfill` isn't necessary anymore. r? types cc `@jackh726`
…jackh726,compiler-errors some trait system cleanups Always eagerly replace projections with infer vars if normalization is ambig. Unsure why we previously didn't do so, wasn't able to find an explanation in rust-lang#90887. This adds some complexity to the trait system and is afaict unnecessary. The second commit simplifies `pred_known_to_hold_modulo_regions`, afaict the optional `fulfill` isn't necessary anymore. r? types cc `@jackh726`
…jackh726,compiler-errors some trait system cleanups Always eagerly replace projections with infer vars if normalization is ambig. Unsure why we previously didn't do so, wasn't able to find an explanation in rust-lang#90887. This adds some complexity to the trait system and is afaict unnecessary. The second commit simplifies `pred_known_to_hold_modulo_regions`, afaict the optional `fulfill` isn't necessary anymore. r? types cc `@jackh726`
…compiler-errors some trait system cleanups Always eagerly replace projections with infer vars if normalization is ambig. Unsure why we previously didn't do so, wasn't able to find an explanation in rust-lang#90887. This adds some complexity to the trait system and is afaict unnecessary. The second commit simplifies `pred_known_to_hold_modulo_regions`, afaict the optional `fulfill` isn't necessary anymore. r? types cc `@jackh726`
Closes #90729
r? @nikomatsakis