]> git.lizzy.rs Git - rust.git/commit
deduplicate trait errors before they are displayed
authorAriel Ben-Yehuda <arielb1@mail.tau.ac.il>
Thu, 24 Sep 2015 16:58:00 +0000 (19:58 +0300)
committerAriel Ben-Yehuda <ariel.byd@gmail.com>
Sat, 26 Sep 2015 18:13:31 +0000 (21:13 +0300)
commitfe6ad097c654d2655ad11610b2c96d577a3fcc2b
tree2ddfebf00b6466e70f9560418dff3aee961188f8
parent9169e6c53c53999d0ca176067a36c57aef84757b
deduplicate trait errors before they are displayed

Because of type inference, duplicate obligations exist and cause duplicate
errors. To avoid this, only display the first error for each (predicate,span).

The inclusion of the span is somewhat bikesheddy, but *is* the more
conservative option (it does not remove some instability, as duplicate
obligations are ignored by `duplicate_set` under some inference conditions).

Fixes #28098
cc #21528 (is it a dupe?)
26 files changed:
src/librustc/middle/infer/mod.rs
src/librustc/middle/traits/error_reporting.rs
src/librustc/middle/traits/fulfill.rs
src/librustc/middle/traits/mod.rs
src/test/compile-fail/associated-types-ICE-when-projecting-out-of-err.rs
src/test/compile-fail/associated-types-path-2.rs
src/test/compile-fail/coerce-unsafe-to-closure.rs
src/test/compile-fail/const-eval-overflow-4b.rs
src/test/compile-fail/fn-variance-1.rs
src/test/compile-fail/for-loop-bogosity.rs
src/test/compile-fail/indexing-requires-a-uint.rs
src/test/compile-fail/integral-indexing.rs
src/test/compile-fail/issue-11771.rs
src/test/compile-fail/issue-13352.rs
src/test/compile-fail/issue-14084.rs
src/test/compile-fail/issue-20605.rs
src/test/compile-fail/issue-2149.rs
src/test/compile-fail/issue-22645.rs
src/test/compile-fail/issue-24352.rs
src/test/compile-fail/issue-28098.rs [new file with mode: 0644]
src/test/compile-fail/shift-various-bad-types.rs
src/test/compile-fail/str-idx.rs
src/test/compile-fail/str-mut-idx.rs
src/test/compile-fail/unboxed-closures-unsafe-extern-fn.rs
src/test/compile-fail/unboxed-closures-wrong-abi.rs
src/test/compile-fail/unboxed-closures-wrong-arg-type-extern-fn.rs