1
Fork 0

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 std::fmt;
use rustc_target::spec::abi; use rustc_target::spec::abi;
use syntax::ast; use syntax::ast;
use syntax::errors::pluralise;
use errors::{Applicability, DiagnosticBuilder}; use errors::{Applicability, DiagnosticBuilder};
use syntax_pos::Span; 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 { match *self {
CyclicTy(_) => write!(f, "cyclic type of infinite size"), CyclicTy(_) => write!(f, "cyclic type of infinite size"),
Mismatch => write!(f, "types differ"), 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 crate::require_c_abi_if_c_variadic;
use smallvec::SmallVec; use smallvec::SmallVec;
use syntax::ast; use syntax::ast;
use syntax::errors::pluralise;
use syntax::feature_gate::{GateIssue, emit_feature_err}; use syntax::feature_gate::{GateIssue, emit_feature_err};
use syntax::util::lev_distance::find_best_match_for_name; use syntax::util::lev_distance::find_best_match_for_name;
use syntax::symbol::sym; use syntax::symbol::sym;
@ -377,7 +378,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
quantifier, quantifier,
bound, bound,
kind, kind,
if bound != 1 { "s" } else { "" }, pluralise!(bound),
)) ))
}; };

View file

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