rust/compiler/rustc_trait_selection
Matthias Krüger 485fd3815c
Rollup merge of #129896 - lcnr:bail-on-unknowable, r=jackh726
do not attempt to prove unknowable goals

In case a goal is unknowable, we previously still checked all other possible ways to prove this goal, even though its final result is already guaranteed to be ambiguous. By ignoring all other candidates in that case we can avoid a lot of unnecessary work, fixing the performance regression in typenum found in #121848.

This is already the behavior in the old solver. This could in theory cause future-compatability issues as considering fewer goals unknowable may end up causing performance regressions/hangs. I am quite confident that this will not be an issue.

r? ``@compiler-errors``
2024-09-03 19:13:26 +02:00
..
src Rollup merge of #129896 - lcnr:bail-on-unknowable, r=jackh726 2024-09-03 19:13:26 +02:00
Cargo.toml Remove unused compiler dependencies 2024-06-29 22:09:58 +02:00
messages.ftl Emit specific message for time<0.3.35 inference failure 2024-08-28 22:53:02 +00:00