Correct pluralisation of various diagnostic messages
This commit is contained in:
parent
4894123d21
commit
f6481ed1c3
@ -200,7 +200,9 @@ impl<'tcx> ty::TyS<'tcx> {
|
||||
ty::Array(_, n) => {
|
||||
let n = tcx.lift_to_global(&n).unwrap();
|
||||
match n.try_eval_usize(tcx, ty::ParamEnv::empty()) {
|
||||
Some(n) => format!("array of {} elements", n).into(),
|
||||
Some(n) => {
|
||||
format!("array of {} element{}", n, if n != 1 { "s" } else { "" }).into()
|
||||
}
|
||||
None => "array".into(),
|
||||
}
|
||||
}
|
||||
|
@ -1098,22 +1098,35 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
||||
|
||||
fn error_scrutinee_inconsistent_length(&self, span: Span, min_len: u64, size: u64) {
|
||||
struct_span_err!(
|
||||
self.tcx.sess, span, E0527,
|
||||
"pattern requires {} elements but array has {}",
|
||||
min_len, size
|
||||
self.tcx.sess,
|
||||
span,
|
||||
E0527,
|
||||
"pattern requires {} element{} but array has {}",
|
||||
min_len,
|
||||
if min_len != 1 { "s" } else { "" },
|
||||
size,
|
||||
)
|
||||
.span_label(span, format!("expected {} elements", size))
|
||||
.span_label(span, format!("expected {} element{}", size, if size != 1 { "s" } else { "" }))
|
||||
.emit();
|
||||
}
|
||||
|
||||
fn error_scrutinee_with_rest_inconsistent_length(&self, span: Span, min_len: u64, size: u64) {
|
||||
struct_span_err!(
|
||||
self.tcx.sess, span, E0528,
|
||||
"pattern requires at least {} elements but array has {}",
|
||||
min_len, size
|
||||
)
|
||||
.span_label(span, format!("pattern cannot match array of {} elements", size))
|
||||
.emit();
|
||||
self.tcx.sess,
|
||||
span,
|
||||
E0528,
|
||||
"pattern requires at least {} element{} but array has {}",
|
||||
min_len,
|
||||
if min_len != 1 { "s" } else { "" },
|
||||
size,
|
||||
).span_label(
|
||||
span,
|
||||
format!(
|
||||
"pattern cannot match array of {} element{}",
|
||||
size,
|
||||
if size != 1 { "s" } else { "" },
|
||||
),
|
||||
).emit();
|
||||
}
|
||||
|
||||
fn error_scrutinee_unfixed_length(&self, span: Span) {
|
||||
|
@ -345,8 +345,13 @@ impl LockstepIterSize {
|
||||
LockstepIterSize::Constraint(r_len, _) if l_len == r_len => self,
|
||||
LockstepIterSize::Constraint(r_len, r_id) => {
|
||||
let msg = format!(
|
||||
"meta-variable `{}` repeats {} times, but `{}` repeats {} times",
|
||||
l_id, l_len, r_id, r_len
|
||||
"meta-variable `{}` repeats {} time{}, but `{}` repeats {} time{}",
|
||||
l_id,
|
||||
l_len,
|
||||
if l_len != 1 { "s" } else { "" },
|
||||
r_id,
|
||||
r_len,
|
||||
if r_len != 1 { "s" } else { "" },
|
||||
);
|
||||
LockstepIterSize::Contradiction(msg)
|
||||
}
|
||||
|
@ -291,7 +291,7 @@ impl<'a, 'b> Context<'a, 'b> {
|
||||
&format!(
|
||||
"{} positional argument{} in format string, but {}",
|
||||
count,
|
||||
if count > 1 { "s" } else { "" },
|
||||
if count != 1 { "s" } else { "" },
|
||||
self.describe_num_args(),
|
||||
),
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user