mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-27 19:16:36 +00:00
Uplift most type-system related error reporting from `rustc_infer` to `rustc_trait_selection` Completes the major part of #127492. The only cleanup that's needed afterwards is to actually use normalization in favor of the callback where needed, and deleting `can_eq_shallow`. r? lcnr Sorry for the large diff! Would prefer if comments can be handled in a follow-up (unless they're absolutely dealbreakers) because it seems bitrotty to let this sit.
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.