mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-25 03:38:27 +00:00
Make associated type bounds in supertrait position implied
`trait A: B<Assoc: C> {}` should be able to imply both `Self: B` and `<Self as B>::Assoc: C`. Adjust the way that we collect implied predicates to do so.
Fixes #112573
Fixes #112568
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.