mirror of https://github.com/rust-lang/rust
25c55c51cb
Harmonize using root or leaf obligation in trait error reporting When #121826 changed the error reporting to use root obligation and not the leafmost obligation, it didn't actually make sure that all the other diagnostics helper functions used the right obligation. Specifically, when reporting similar impl candidates we are looking for impls of the root obligation, but trying to match them against the trait ref of the leaf obligation. This does a few other miscellaneous changes. There's a lot more clean-up that could be done here, but working with this code is really grief-inducing due to how messy it has become over the years. Someone really needs to show it love. 😓 r? ``@estebank`` Fixes #126129 |
||
---|---|---|
.. | ||
ambiguous-fail.rs | ||
ambiguous-fail.stderr | ||
ambiguous-pass.rs | ||
ambiguous-pass.stderr | ||
point-at-failing-nested.rs | ||
point-at-failing-nested.stderr | ||
projection-trait-ref.rs | ||
projection-trait-ref.stderr | ||
where-clause-doesnt-apply.rs | ||
where-clause-doesnt-apply.stderr |