about summary refs log tree commit diff
diff options
context:
space:
mode:
authorcrypto-universe <ykp@protonmail.ch>2016-08-17 00:03:53 +0200
committercrypto-universe <ykp@protonmail.ch>2016-08-17 19:59:22 +0200
commit2179defa0425b88644de283f672cda6695ded942 (patch)
treeae2346455fb73a4a43ac23c7d0622ed077942d92
parent76fa5875c68246384c5057179927cbfdea0cc822 (diff)
downloadrust-2179defa0425b88644de283f672cda6695ded942.tar.gz
rust-2179defa0425b88644de283f672cda6695ded942.zip
New output for E0407
Issue #35697 as a part of #35233.
r? @jonathandturner
-rw-r--r--src/librustc_resolve/lib.rs14
-rw-r--r--src/test/compile-fail/E0407.rs4
2 files changed, 11 insertions, 7 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index 65e14eee4bc..0d37d0f9384 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -237,12 +237,14 @@ fn resolve_struct_error<'b, 'a: 'b, 'c>(resolver: &'b Resolver<'a>,
             err
         }
         ResolutionError::MethodNotMemberOfTrait(method, trait_) => {
-            struct_span_err!(resolver.session,
-                             span,
-                             E0407,
-                             "method `{}` is not a member of trait `{}`",
-                             method,
-                             trait_)
+            let mut err = struct_span_err!(resolver.session,
+                                           span,
+                                           E0407,
+                                           "method `{}` is not a member of trait `{}`",
+                                           method,
+                                           trait_);
+            err.span_label(span, &format!("not a member of `{}`", trait_));
+            err
         }
         ResolutionError::TypeNotMemberOfTrait(type_, trait_) => {
             struct_span_err!(resolver.session,
diff --git a/src/test/compile-fail/E0407.rs b/src/test/compile-fail/E0407.rs
index b861cf1b378..2a150b74512 100644
--- a/src/test/compile-fail/E0407.rs
+++ b/src/test/compile-fail/E0407.rs
@@ -16,7 +16,9 @@ struct Bar;
 
 impl Foo for Bar {
     fn a() {}
-    fn b() {} //~ ERROR E0407
+    fn b() {}
+    //~^ ERROR E0407
+    //~| NOTE not a member of `Foo`
 }
 
 fn main() {