Refactor Pluralisation

Modify files performing pluralisation checks to incorporate the
dedicated macro located in `syntax::errors`.
This commit is contained in:
V1shvesh 2019-09-08 15:00:08 +05:30
parent 38ab20dbf7
commit c255206581
3 changed files with 8 additions and 11 deletions

View file

@ -4,6 +4,7 @@ use std::borrow::Cow;
use std::fmt;
use rustc_target::spec::abi;
use syntax::ast;
use syntax::errors::pluralise;
use errors::{Applicability, DiagnosticBuilder};
use syntax_pos::Span;
@ -82,12 +83,6 @@ impl<'tcx> fmt::Display for TypeError<'tcx> {
}
};
macro_rules! pluralise {
($x:expr) => {
if $x != 1 { "s" } else { "" }
};
}
match *self {
CyclicTy(_) => write!(f, "cyclic type of infinite size"),
Mismatch => write!(f, "types differ"),

View file

@ -23,6 +23,7 @@ use rustc_target::spec::abi;
use crate::require_c_abi_if_c_variadic;
use smallvec::SmallVec;
use syntax::ast;
use syntax::errors::pluralise;
use syntax::feature_gate::{GateIssue, emit_feature_err};
use syntax::util::lev_distance::find_best_match_for_name;
use syntax::symbol::sym;
@ -377,7 +378,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
quantifier,
bound,
kind,
if bound != 1 { "s" } else { "" },
pluralise!(bound),
))
};

View file

@ -10,6 +10,7 @@ use rustc::util::common::ErrorReported;
use errors::{Applicability, DiagnosticId};
use syntax_pos::Span;
use syntax::errors::pluralise;
use super::{Inherited, FnCtxt, potentially_plural_count};
@ -648,9 +649,9 @@ fn compare_number_of_generics<'tcx>(
declaration has {} {kind} parameter{}",
trait_.ident,
impl_count,
if impl_count != 1 { "s" } else { "" },
pluralise!(impl_count),
trait_count,
if trait_count != 1 { "s" } else { "" },
pluralise!(trait_count),
kind = kind,
),
DiagnosticId::Error("E0049".into()),
@ -665,7 +666,7 @@ fn compare_number_of_generics<'tcx>(
"expected {} {} parameter{}",
trait_count,
kind,
if trait_count != 1 { "s" } else { "" },
pluralise!(trait_count),
));
}
for span in spans {
@ -680,7 +681,7 @@ fn compare_number_of_generics<'tcx>(
"found {} {} parameter{}{}",
impl_count,
kind,
if impl_count != 1 { "s" } else { "" },
pluralise!(impl_count),
suffix.unwrap_or_else(|| String::new()),
));
}