]> git.lizzy.rs Git - rust.git/commit
Consider unfulfilled obligations in binop errors
authorEsteban Kuber <esteban@kuber.com.ar>
Tue, 28 Sep 2021 14:48:54 +0000 (14:48 +0000)
committerEsteban Kuber <esteban@kuber.com.ar>
Tue, 5 Oct 2021 23:34:13 +0000 (23:34 +0000)
commite8fc076f231699d9a44fc44a1e298ea4f70fdb48
treec4d83e0d4aa46d9c82d90f2cb50c98322ce5dafa
parent074f63648bd2368d5ca19aed02b5763a144e5d05
Consider unfulfilled obligations in binop errors

When encountering a binop where the types would have been accepted, if
all the predicates had been fulfilled, include information about the
predicates and suggest appropriate `#[derive]`s if possible.

Point at trait(s) that needs to be `impl`emented.
27 files changed:
compiler/rustc_middle/src/ty/print/pretty.rs
compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs
compiler/rustc_typeck/src/check/method/mod.rs
compiler/rustc_typeck/src/check/method/suggest.rs
compiler/rustc_typeck/src/check/op.rs
src/test/ui/assignment-operator-unimplemented.stderr
src/test/ui/binop/issue-28837.stderr
src/test/ui/derives/derives-span-PartialEq-enum-struct-variant.stderr
src/test/ui/derives/derives-span-PartialEq-enum.stderr
src/test/ui/derives/derives-span-PartialEq-struct.stderr
src/test/ui/derives/derives-span-PartialEq-tuple-struct.stderr
src/test/ui/derives/deriving-no-inner-impl-error-message.stderr
src/test/ui/destructuring-assignment/note-unsupported.stderr
src/test/ui/error-festival.stderr
src/test/ui/issues/issue-14091-2.stderr
src/test/ui/issues/issue-31076.rs
src/test/ui/issues/issue-31076.stderr
src/test/ui/issues/issue-3820.stderr
src/test/ui/issues/issue-62375.stderr
src/test/ui/methods/method-call-err-msg.stderr
src/test/ui/never_type/defaulted-never-note.fallback.stderr
src/test/ui/never_type/diverging-fallback-no-leak.fallback.stderr
src/test/ui/or-patterns/or-patterns-syntactic-fail.stderr
src/test/ui/span/issue-39018.stderr
src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
src/test/ui/suggestions/invalid-bin-op.stderr
src/test/ui/type/type-ascription-precedence.stderr