Skip to content

Commit

Permalink
Auto merge of rust-lang#132325 - lcnr:damn-son, r=<try>
Browse files Browse the repository at this point in the history
rework winnowing to sensibly handle global where-bounds

this is somewhat weird, but it at least allows us to mirror this behavior in the new solver:
- trivial builtin-impls
- non-global where-bounds, bailing with ambiguity if at least one global where-bound exists
- object ☠️ + alias-bound candidates
- merge candidates ignoring global where-bounds

This is a different approach from rust-lang#124592 which maintains the "if there are global where-bounds, don't guide type inference using non-global where-bounds" behavior, hopefully avoiding the breakage and means we use guidance from non-global where-bounds in fewer, instead of in more cases.

r? `@compiler-errors`
  • Loading branch information
bors committed Nov 7, 2024
2 parents 3d1dba8 + 2090bf2 commit 5be2110
Show file tree
Hide file tree
Showing 3 changed files with 265 additions and 305 deletions.
1 change: 1 addition & 0 deletions compiler/rustc_trait_selection/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#![feature(extract_if)]
#![feature(if_let_guard)]
#![feature(iter_intersperse)]
#![feature(iterator_try_reduce)]
#![feature(let_chains)]
#![feature(never_type)]
#![feature(rustdoc_internals)]
Expand Down
Loading

0 comments on commit 5be2110

Please sign in to comment.