rust/compiler
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
..
rustc
rustc_abi Rollup merge of #123043 - GoldsteinE:fix/repr-c-dead-branches, r=oli-obk 2024-07-04 18:16:22 +02:00
rustc_arena
rustc_ast Rollup merge of #127308 - nnethercote:Attribute-cleanups, r=petrochenkov 2024-07-07 14:22:01 +02:00
rustc_ast_ir
rustc_ast_lowering Rollup merge of #127092 - compiler-errors:rtn-dots-redux, r=estebank 2024-07-03 23:30:07 +02:00
rustc_ast_passes Rollup merge of #127092 - compiler-errors:rtn-dots-redux, r=estebank 2024-07-03 23:30:07 +02:00
rustc_ast_pretty Rollup merge of #127092 - compiler-errors:rtn-dots-redux, r=estebank 2024-07-03 23:30:07 +02:00
rustc_attr
rustc_baked_icu_data
rustc_borrowck Uplift PredicateEmittingRelation first 2024-07-06 10:05:49 -04:00
rustc_builtin_macros Rollup merge of #127308 - nnethercote:Attribute-cleanups, r=petrochenkov 2024-07-07 14:22:01 +02:00
rustc_codegen_cranelift Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk 2024-07-04 23:45:56 +00:00
rustc_codegen_gcc Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk 2024-07-04 23:45:56 +00:00
rustc_codegen_llvm Auto merge of #126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee 2024-07-05 01:58:22 +00:00
rustc_codegen_ssa Auto merge of #126094 - petrochenkov:libsearch, r=michaelwoerister 2024-07-03 14:15:31 +00:00
rustc_const_eval Rollup merge of #127275 - RalfJung:offset-from-isize-min, r=Amanieu 2024-07-06 13:26:25 +02:00
rustc_data_structures Auto merge of #127226 - mat-1:optimize-siphash-round, r=nnethercote 2024-07-04 04:03:45 +00:00
rustc_driver
rustc_driver_impl
rustc_error_codes Correct description of E0502 2024-07-06 09:13:14 +03:00
rustc_error_messages
rustc_errors Properly handle removal suggestion rendering 2024-07-04 05:04:48 +00:00
rustc_expand Use filter_map instead of flat_map in configure_tokens. 2024-07-07 16:34:29 +10:00
rustc_feature Auto merge of #127008 - Jules-Bertholet:tc-ergonomics, r=Nadrieril 2024-07-05 09:10:17 +00:00
rustc_fluent_macro
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #127092 - compiler-errors:rtn-dots-redux, r=estebank 2024-07-03 23:30:07 +02:00
rustc_hir_analysis Auto merge of #127172 - compiler-errors:full-can_eq-everywhere, r=lcnr 2024-07-07 23:03:48 +00:00
rustc_hir_pretty
rustc_hir_typeck Auto merge of #127172 - compiler-errors:full-can_eq-everywhere, r=lcnr 2024-07-07 23:03:48 +00:00
rustc_incremental
rustc_index Auto merge of #127170 - bjorn3:no_specialize_index_borrowck, r=michaelwoerister 2024-07-04 14:24:43 +00:00
rustc_index_macros
rustc_infer Auto merge of #127172 - compiler-errors:full-can_eq-everywhere, r=lcnr 2024-07-07 23:03:48 +00:00
rustc_interface Rollup merge of #127184 - bjorn3:interface_refactor2, r=Nadrieril 2024-07-03 23:30:07 +02:00
rustc_lexer
rustc_lint Rollup merge of #127221 - Urgau:check-cfg-std-diag, r=pnkfelix 2024-07-05 20:49:32 -04:00
rustc_lint_defs
rustc_llvm Rename the asm-comments compiler flag to verbose-asm 2024-07-02 21:42:01 -04:00
rustc_log
rustc_macros
rustc_metadata
rustc_middle Rollup merge of #127405 - compiler-errors:uplift-predicate-emitting-relation, r=lcnr 2024-07-06 14:55:24 -04:00
rustc_mir_build coverage: Rename mir::coverage::BranchInfo to CoverageInfoHi 2024-07-05 13:53:05 +10:00
rustc_mir_dataflow Auto merge of #127036 - cjgillot:sparse-state, r=oli-obk 2024-07-03 18:52:04 +00:00
rustc_mir_transform Fix a few doc comment for compiler-interal API docs. 2024-07-05 14:14:35 +00:00
rustc_monomorphize Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk 2024-07-04 23:45:56 +00:00
rustc_next_trait_solver Uplift PredicateEmittingRelation first 2024-07-06 10:05:49 -04:00
rustc_parse Remove Clone derive from LazyAttrTokenStreamImpl. 2024-07-07 16:24:51 +10:00
rustc_parse_format
rustc_passes Rollup merge of #127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix 2024-07-05 20:49:31 -04:00
rustc_pattern_analysis
rustc_privacy
rustc_query_impl
rustc_query_system
rustc_resolve Rollup merge of #127308 - nnethercote:Attribute-cleanups, r=petrochenkov 2024-07-07 14:22:01 +02:00
rustc_sanitizers
rustc_serialize
rustc_session Rename the asm-comments compiler flag to verbose-asm 2024-07-02 21:42:01 -04:00
rustc_smir Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk 2024-07-04 23:45:56 +00:00
rustc_span Auto merge of #127008 - Jules-Bertholet:tc-ergonomics, r=Nadrieril 2024-07-05 09:10:17 +00:00
rustc_symbol_mangling
rustc_target
rustc_trait_selection Auto merge of #127172 - compiler-errors:full-can_eq-everywhere, r=lcnr 2024-07-07 23:03:48 +00:00
rustc_traits
rustc_transmute
rustc_ty_utils Auto merge of #125507 - compiler-errors:type-length-limit, r=lcnr 2024-07-03 11:56:36 +00:00
rustc_type_ir Rollup merge of #127405 - compiler-errors:uplift-predicate-emitting-relation, r=lcnr 2024-07-06 14:55:24 -04:00
rustc_type_ir_macros
stable_mir