about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan Turner <jonathandturner@users.noreply.github.com>2016-08-31 06:29:10 -0700
committerGitHub <noreply@github.com>2016-08-31 06:29:10 -0700
commitd18f14854aa9854ea3a4282ac38c4f5ec0c11ea4 (patch)
treeab49c4ae14703d8a36c25f6924f50615a90ca1ca
parentf3ce9fd5a72391fc239b9d2956a5d094ba056a71 (diff)
parentfb65fe95ebb51ae2fc153d96127cfd6b5860dd02 (diff)
downloadrust-d18f14854aa9854ea3a4282ac38c4f5ec0c11ea4.tar.gz
rust-d18f14854aa9854ea3a4282ac38c4f5ec0c11ea4.zip
Rollup merge of #36136 - athulappadan:E0034, r=jonathandturner
Update compiler error 0034 to use new format.

Part of #35233
Addresses #35205

r? @jonathandturner
-rw-r--r--src/librustc_typeck/check/method/suggest.rs1
-rw-r--r--src/test/compile-fail/E0034.rs14
2 files changed, 12 insertions, 3 deletions
diff --git a/src/librustc_typeck/check/method/suggest.rs b/src/librustc_typeck/check/method/suggest.rs
index f9699a55f50..46b3f503b6e 100644
--- a/src/librustc_typeck/check/method/suggest.rs
+++ b/src/librustc_typeck/check/method/suggest.rs
@@ -242,6 +242,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
             MethodError::Ambiguity(sources) => {
                 let mut err = struct_span_err!(self.sess(), span, E0034,
                                                "multiple applicable items in scope");
+                err.span_label(span, &format!("multiple `{}` found", item_name));
 
                 report_candidates(&mut err, sources);
                 err.emit();
diff --git a/src/test/compile-fail/E0034.rs b/src/test/compile-fail/E0034.rs
index 669bece0f7d..136a74f7a8b 100644
--- a/src/test/compile-fail/E0034.rs
+++ b/src/test/compile-fail/E0034.rs
@@ -18,9 +18,17 @@ trait Trait2 {
     fn foo();
 }
 
-impl Trait1 for Test { fn foo() {} }
-impl Trait2 for Test { fn foo() {} }
+impl Trait1 for Test {
+    fn foo() {}
+    //~^ NOTE candidate #1 is defined in an impl of the trait `Trait1` for the type `Test`
+}
+
+impl Trait2 for Test {
+    fn foo() {}
+    //~^ NOTE candidate #2 is defined in an impl of the trait `Trait2` for the type `Test`
+}
 
 fn main() {
-    Test::foo() //~ ERROR E0034
+    Test::foo() //~ ERROR multiple applicable items in scope
+    //~| NOTE multiple `foo` found
 }