Rollup merge of #36103 - zjhmale:fix-E0089, r=jonathandturner
Update E0089 to new error format Fixes #35227. Part of #35233. r? @jonathandturner
This commit is contained in:
commit
9a3cfe9129
@ -4427,14 +4427,18 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
||||
// use inference variables instead of the provided types.
|
||||
*segment = None;
|
||||
} else if !(can_omit && types.len() == 0) && types.len() < required_len {
|
||||
let qualifier =
|
||||
if type_defs.len() != required_len { "at least " } else { "" };
|
||||
span_err!(self.tcx.sess, span, E0089,
|
||||
"too few type parameters provided: \
|
||||
expected {}{}, found {}",
|
||||
qualifier,
|
||||
count(required_len),
|
||||
count(types.len()));
|
||||
let adjust = |len| if len > 1 { "parameters" } else { "parameter" };
|
||||
let required_param_str = adjust(required_len);
|
||||
let actual_param_str = adjust(types.len());
|
||||
struct_span_err!(self.tcx.sess, span, E0089,
|
||||
"too few type parameters provided: \
|
||||
expected {} {}, found {} {}",
|
||||
count(required_len),
|
||||
required_param_str,
|
||||
count(types.len()),
|
||||
actual_param_str)
|
||||
.span_label(span, &format!("expected {} type {}", required_len, required_param_str))
|
||||
.emit();
|
||||
}
|
||||
|
||||
if !bindings.is_empty() {
|
||||
|
@ -11,5 +11,7 @@
|
||||
fn foo<T, U>() {}
|
||||
|
||||
fn main() {
|
||||
foo::<f64>(); //~ ERROR E0089
|
||||
foo::<f64>();
|
||||
//~^ ERROR E0089
|
||||
//~| NOTE expected 2 type parameters
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user