Update E0036 to new error format

This commit is contained in:
Guillaume Gomez 2016-09-30 21:44:55 +02:00
parent d8239e3e59
commit 4d5e81d80d
2 changed files with 14 additions and 3 deletions

View file

@ -314,13 +314,23 @@ impl<'a, 'gcx, 'tcx> ConfirmContext<'a, 'gcx, 'tcx> {
if num_method_types == 0 {
struct_span_err!(self.tcx.sess, self.span, E0035,
"does not take type parameters")
.span_label(self.span, "called with unneeded type parameters")
.span_label(self.span, &"called with unneeded type parameters")
.emit();
} else {
span_err!(self.tcx.sess, self.span, E0036,
struct_span_err!(self.tcx.sess, self.span, E0036,
"incorrect number of type parameters given for this method: \
expected {}, found {}",
num_method_types, num_supplied_types);
num_method_types, num_supplied_types)
.span_label(self.span,
&format!("Passed {} type argument{}, expected {}",
num_supplied_types,
if num_supplied_types != 1 {
"s"
} else {
""
},
num_method_types))
.emit();
}
supplied_method_types = vec![self.tcx.types.err; num_method_types];
}

View file

@ -20,4 +20,5 @@ fn main() {
let x = Test;
let v = &[0];
x.method::<i32, i32>(v); //~ ERROR E0036
//~| NOTE Passed 2 type arguments, expected 1
}