diff --git a/src/librustc/middle/typeck/collect.rs b/src/librustc/middle/typeck/collect.rs index 9c69e6fd85cc7..9b84c813de1a6 100644 --- a/src/librustc/middle/typeck/collect.rs +++ b/src/librustc/middle/typeck/collect.rs @@ -509,10 +509,11 @@ pub fn compare_impl_method(tcx: ty::ctxt, tcx.sess.span_err( cm.span, format!("method `{}` has {} parameter{} \ - but the trait has {}", + but the trait method `{}` has {}", tcx.sess.str_of(trait_m.ident), impl_m.fty.sig.inputs.len(), if impl_m.fty.sig.inputs.len() == 1 { "" } else { "s" }, + ty::item_path_str(tcx, trait_m.def_id), trait_m.fty.sig.inputs.len())); return; } diff --git a/src/test/compile-fail/trait-impl-different-num-params.rs b/src/test/compile-fail/trait-impl-different-num-params.rs index 7039e05019958..1d13bcf6b21d4 100644 --- a/src/test/compile-fail/trait-impl-different-num-params.rs +++ b/src/test/compile-fail/trait-impl-different-num-params.rs @@ -13,7 +13,7 @@ trait foo { } impl foo for int { fn bar(&self) -> int { - //~^ ERROR method `bar` has 0 parameters but the trait has 1 + //~^ ERROR method `bar` has 0 parameters but the trait method `foo::bar` has 1 *self } }