rust/tests
bors 89aefb9c53 Auto merge of #127172 - compiler-errors:full-can_eq-everywhere, r=lcnr
Make `can_eq` process obligations (almost) everywhere

Move `can_eq` to an extension trait on `InferCtxt` in `rustc_trait_selection`, and change it so that it processes obligations. This should strengthen it to be more accurate in some cases, but is most important for the new trait solver which delays relating aliases to `AliasRelate` goals. Without this, we always basically just return true when passing aliases to `can_eq`, which can lead to weird errors, for example #127149.

I'm not actually certain if we should *have* `can_eq` be called on the good path. In cases where we need `can_eq`, we probably should just be using a regular probe.

Fixes #127149

r? lcnr
2024-07-07 23:03:48 +00:00
..
assembly
auxiliary
codegen
codegen-units
coverage
coverage-run-rustdoc
crashes Rollup merge of #127409 - gurry:127332-ice-with-expr-not-struct, r=oli-obk 2024-07-07 14:22:02 +02:00
debuginfo
incremental
mir-opt
pretty
run-make Auto merge of #127335 - Oneirical:put-on-a-petestal, r=jieyouxu 2024-07-07 01:05:25 +00:00
run-pass-valgrind
rustdoc
rustdoc-gui
rustdoc-js
rustdoc-js-std
rustdoc-json
rustdoc-ui
ui Auto merge of #127172 - compiler-errors:full-can_eq-everywhere, r=lcnr 2024-07-07 23:03:48 +00:00
ui-fulldeps Rollup merge of #127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix 2024-07-05 20:49:31 -04:00
COMPILER_TESTS.md