mirror of
https://github.com/rust-lang/rust
synced 2024-09-15 22:50:55 +00:00
Pluralize E0087-E0090 messages based on number of parameters.
This commit is contained in:
parent
d8d4a6a842
commit
fbef978fd7
|
@ -4688,9 +4688,12 @@ fn push_explicit_angle_bracketed_parameters_from_segment_to_substs<'a, 'tcx>(
|
|||
} else if i == type_count {
|
||||
span_err!(fcx.tcx().sess, typ.span, E0087,
|
||||
"too many type parameters provided: \
|
||||
expected at most {} parameter(s), \
|
||||
found {} parameter(s)",
|
||||
type_count, data.types.len());
|
||||
expected at most {} parameter{}, \
|
||||
found {} parameter{}",
|
||||
type_count,
|
||||
if type_count == 1 {""} else {"s"},
|
||||
data.types.len(),
|
||||
if data.types.len() == 1 {""} else {"s"});
|
||||
substs.types.truncate(space, 0);
|
||||
break;
|
||||
}
|
||||
|
@ -4713,9 +4716,11 @@ fn push_explicit_angle_bracketed_parameters_from_segment_to_substs<'a, 'tcx>(
|
|||
} else if i == region_count {
|
||||
span_err!(fcx.tcx().sess, lifetime.span, E0088,
|
||||
"too many lifetime parameters provided: \
|
||||
expected {} parameter(s), found {} parameter(s)",
|
||||
expected {} parameter{}, found {} parameter{}",
|
||||
region_count,
|
||||
data.lifetimes.len());
|
||||
if region_count == 1 {""} else {"s"},
|
||||
data.lifetimes.len(),
|
||||
if data.lifetimes.len() == 1 {""} else {"s"});
|
||||
substs.mut_regions().truncate(space, 0);
|
||||
break;
|
||||
}
|
||||
|
@ -4805,9 +4810,12 @@ fn adjust_type_parameters<'a, 'tcx>(
|
|||
let qualifier =
|
||||
if desired.len() != required_len { "at least " } else { "" };
|
||||
span_err!(fcx.tcx().sess, span, E0089,
|
||||
"too few type parameters provided: expected {}{} parameter(s) \
|
||||
, found {} parameter(s)",
|
||||
qualifier, required_len, provided_len);
|
||||
"too few type parameters provided: expected {}{} parameter{}, \
|
||||
found {} parameter{}",
|
||||
qualifier, required_len,
|
||||
if required_len == 1 {""} else {"s"},
|
||||
provided_len,
|
||||
if provided_len == 1 {""} else {"s"});
|
||||
substs.types.replace(space, repeat(fcx.tcx().types.err).take(desired.len()).collect());
|
||||
return;
|
||||
}
|
||||
|
@ -4858,9 +4866,12 @@ fn adjust_region_parameters(
|
|||
// Otherwise, too few were provided. Report an error and then
|
||||
// use inference variables.
|
||||
span_err!(fcx.tcx().sess, span, E0090,
|
||||
"too few lifetime parameters provided: expected {} parameter(s), \
|
||||
found {} parameter(s)",
|
||||
desired.len(), provided_len);
|
||||
"too few lifetime parameters provided: expected {} parameter{}, \
|
||||
found {} parameter{}",
|
||||
desired.len(),
|
||||
if desired.len() == 1 {""} else {"s"},
|
||||
provided_len,
|
||||
if provided_len == 1 {""} else {"s"});
|
||||
|
||||
substs.mut_regions().replace(
|
||||
space,
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
|
||||
fn main() {
|
||||
<String as IntoCow>::into_cow("foo".to_string());
|
||||
//~^ ERROR too few type parameters provided: expected 1 parameter(s)
|
||||
//~^ ERROR too few type parameters provided: expected 1 parameter
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue