-
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
Disable projection sub-obligation optimization in intercrate mode #88993
Conversation
The meaning of an 'evaluation' in intercrate mode is more complicated than with an normal `SelectionContext`. To avoid potential issues, we now always preserve all projection sub-obligations when in intercrate mode. This avoids needing to answer whether or not `EvaluatedToOk` always means the same thing in intercrate mode as it does normally.
r? @cjgillot (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 da0816c with merge 0ad7c9beddfdc2e5f0aeb5f7ae7d796dd89173f7... |
☀️ Try build successful - checks-actions |
Queued 0ad7c9beddfdc2e5f0aeb5f7ae7d796dd89173f7 with parent 2c7bc5e, future comparison URL. |
Finished benchmarking commit (0ad7c9beddfdc2e5f0aeb5f7ae7d796dd89173f7): 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 |
r? @rust-lang/traits |
IIRC this was an alternative to #88994, and can thus probably be closed, right @Aaron1011 ? |
Closing since #88994 was merged. |
The meaning of an 'evaluation' in intercrate mode is more complicated
than with an normal
SelectionContext
. To avoid potential issues,we now always preserve all projection sub-obligations when in
intercrate mode. This avoids needing to answer whether or not
EvaluatedToOk
always means the same thing in intercrate modeas it does normally.