rust/compiler
bors cd90d5c035 Auto merge of #122317 - compiler-errors:fulfill-method-probe, r=lcnr
Use fulfillment in method probe, not evaluation

This PR reworks method probing to use fulfillment instead of a `for`-loop of `evaluate_predicate` calls, and moves normalization from method candidate assembly into the `consider_probe`, where it's applied to *all* candidates. This last part coincidentally fixes https://github.com/rust-lang/rust/issues/121643#issuecomment-1975371248.

Regarding *why* this large rewrite is done: In general, it's an anti-pattern to do `for o in obligations { evaluate(o); }` because it's not compatible with the way that the new solver emits alias-relate obligations which constrain variables that may show up in other predicates.

r? lcnr
2024-04-23 14:07:05 +00:00
..
rustc
rustc_abi
rustc_arena
rustc_ast
rustc_ast_ir
rustc_ast_lowering
rustc_ast_passes
rustc_ast_pretty
rustc_attr Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_baked_icu_data
rustc_borrowck Rollup merge of #124183 - compiler-errors:unnecessary-by-ref, r=oli-obk 2024-04-22 20:25:59 +02:00
rustc_builtin_macros
rustc_codegen_cranelift Also handle AggregateKind::RawPtr in cg_cranelift 2024-04-21 11:08:37 -07:00
rustc_codegen_gcc
rustc_codegen_llvm Rollup merge of #124178 - GuillaumeGomez:llvm-backend, r=oli-obk 2024-04-22 20:25:58 +02:00
rustc_codegen_ssa Auto merge of #121801 - zetanumbers:async_drop_glue, r=oli-obk 2024-04-23 02:10:23 +00:00
rustc_const_eval Rollup merge of #124220 - RalfJung:interpret-wrong-vtable, r=oli-obk 2024-04-23 06:24:57 +02:00
rustc_data_structures Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_driver
rustc_driver_impl
rustc_error_codes
rustc_error_messages
rustc_errors Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_expand
rustc_feature Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco 2024-04-23 12:10:25 +02:00
rustc_fluent_macro
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco 2024-04-23 12:10:25 +02:00
rustc_hir_analysis Rollup merge of #124288 - fee1-dead-contrib:rm_inner, r=fmease 2024-04-23 12:10:27 +02:00
rustc_hir_pretty
rustc_hir_typeck Auto merge of #122317 - compiler-errors:fulfill-method-probe, r=lcnr 2024-04-23 14:07:05 +00:00
rustc_incremental
rustc_index
rustc_index_macros
rustc_infer Rollup merge of #124183 - compiler-errors:unnecessary-by-ref, r=oli-obk 2024-04-22 20:25:59 +02:00
rustc_interface Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_lexer
rustc_lint Rollup merge of #123050 - RalfJung:panic_str, r=m-ou-se 2024-04-23 12:10:25 +02:00
rustc_lint_defs
rustc_llvm
rustc_log
rustc_macros
rustc_metadata Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco 2024-04-23 12:10:25 +02:00
rustc_middle Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco 2024-04-23 12:10:25 +02:00
rustc_mir_build coverage: Move some helper code into BranchInfoBuilder 2024-04-22 21:55:33 +10:00
rustc_mir_dataflow
rustc_mir_transform Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco 2024-04-23 12:10:25 +02:00
rustc_monomorphize
rustc_next_trait_solver
rustc_parse Rollup merge of #124284 - klensy:no-reads, r=fmease 2024-04-23 12:10:26 +02:00
rustc_parse_format
rustc_passes Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco 2024-04-23 12:10:25 +02:00
rustc_pattern_analysis
rustc_privacy
rustc_query_impl Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_query_system Rollup merge of #124252 - michaelwoerister:better-forbidden-read-ice, r=oli-obk 2024-04-22 20:26:00 +02:00
rustc_resolve Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco 2024-04-23 12:10:25 +02:00
rustc_sanitizers
rustc_serialize Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_session Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_smir Auto merge of #121801 - zetanumbers:async_drop_glue, r=oli-obk 2024-04-23 02:10:23 +00:00
rustc_span Rollup merge of #123050 - RalfJung:panic_str, r=m-ou-se 2024-04-23 12:10:25 +02:00
rustc_symbol_mangling
rustc_target
rustc_trait_selection Rollup merge of #124168 - oli-obk:define_opaque_types12, r=lcnr 2024-04-23 06:24:56 +02:00
rustc_traits
rustc_transmute
rustc_ty_utils Auto merge of #121801 - zetanumbers:async_drop_glue, r=oli-obk 2024-04-23 02:10:23 +00:00
rustc_type_ir
stable_mir Auto merge of #121801 - zetanumbers:async_drop_glue, r=oli-obk 2024-04-23 02:10:23 +00:00