Skip to content

Commit 4d5e81d

Browse files
Update E0036 to new error format
1 parent d8239e3 commit 4d5e81d

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/librustc_typeck/check/method/confirm.rs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,13 +314,23 @@ impl<'a, 'gcx, 'tcx> ConfirmContext<'a, 'gcx, 'tcx> {
314314
if num_method_types == 0 {
315315
struct_span_err!(self.tcx.sess, self.span, E0035,
316316
"does not take type parameters")
317-
.span_label(self.span, "called with unneeded type parameters")
317+
.span_label(self.span, &"called with unneeded type parameters")
318318
.emit();
319319
} else {
320-
span_err!(self.tcx.sess, self.span, E0036,
320+
struct_span_err!(self.tcx.sess, self.span, E0036,
321321
"incorrect number of type parameters given for this method: \
322322
expected {}, found {}",
323-
num_method_types, num_supplied_types);
323+
num_method_types, num_supplied_types)
324+
.span_label(self.span,
325+
&format!("Passed {} type argument{}, expected {}",
326+
num_supplied_types,
327+
if num_supplied_types != 1 {
328+
"s"
329+
} else {
330+
""
331+
},
332+
num_method_types))
333+
.emit();
324334
}
325335
supplied_method_types = vec![self.tcx.types.err; num_method_types];
326336
}

src/test/compile-fail/E0036.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@ fn main() {
2020
let x = Test;
2121
let v = &[0];
2222
x.method::<i32, i32>(v); //~ ERROR E0036
23+
//~| NOTE Passed 2 type arguments, expected 1
2324
}

0 commit comments

Comments
 (0)