diff options
| author | Kevin Butler <haqkrs@gmail.com> | 2015-11-09 00:11:56 +0000 |
|---|---|---|
| committer | Kevin Butler <haqkrs@gmail.com> | 2015-11-09 01:01:51 +0000 |
| commit | 8bad0311904b61766862da572bc3d5e2adebdb36 (patch) | |
| tree | f2e1dca297c5bba7683d4091bdee66e34980ca31 /src | |
| parent | 5b4986fa5753b9662c8baab1c31b9b79bc84ca19 (diff) | |
| download | rust-8bad0311904b61766862da572bc3d5e2adebdb36.tar.gz rust-8bad0311904b61766862da572bc3d5e2adebdb36.zip | |
librustc_typeck: give more information when supplied wrong number of type-params for methods
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_typeck/check/method/confirm.rs | 3 | ||||
| -rw-r--r-- | src/test/compile-fail/trait-test-2.rs | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc_typeck/check/method/confirm.rs b/src/librustc_typeck/check/method/confirm.rs index 72131627aa5..d038890b908 100644 --- a/src/librustc_typeck/check/method/confirm.rs +++ b/src/librustc_typeck/check/method/confirm.rs @@ -351,7 +351,8 @@ impl<'a,'tcx> ConfirmContext<'a,'tcx> { method_types); } else if num_supplied_types != num_method_types { span_err!(self.tcx().sess, self.span, E0036, - "incorrect number of type parameters given for this method"); + "incorrect number of type parameters given for this method: expected {}, found {}", + num_method_types, num_supplied_types); final_substs.types.replace( subst::FnSpace, vec![self.tcx().types.err; num_method_types]); diff --git a/src/test/compile-fail/trait-test-2.rs b/src/test/compile-fail/trait-test-2.rs index 13fe314fbcd..73be7cf0dc0 100644 --- a/src/test/compile-fail/trait-test-2.rs +++ b/src/test/compile-fail/trait-test-2.rs @@ -16,7 +16,8 @@ impl bar for u32 { fn dup(&self) -> u32 { *self } fn blah<X>(&self) {} } fn main() { 10.dup::<i32>(); //~ ERROR does not take type parameters - 10.blah::<i32, i32>(); //~ ERROR incorrect number of type parameters + 10.blah::<i32, i32>(); + //~^ ERROR incorrect number of type parameters given for this method: expected 1, found 2 (box 10 as Box<bar>).dup(); //~^ ERROR E0038 //~| ERROR E0038 |
