diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 65e14eee4bc2b..0d37d0f9384fc 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 b861cf1b37817..2a150b7451210 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() {