1
Fork 0

use pluralize!

This commit is contained in:
Takayuki Maeda 2022-07-27 10:09:06 +09:00
parent 3ae03e027a
commit ddd326fda4
5 changed files with 10 additions and 12 deletions

View file

@ -634,9 +634,9 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> {
&format!( &format!(
"expected a closure taking {} argument{}, but one taking {} argument{} was given", "expected a closure taking {} argument{}, but one taking {} argument{} was given",
given.len(), given.len(),
if given.len() == 1 { "" } else { "s" }, pluralize!(given.len()),
expected.len(), expected.len(),
if expected.len() == 1 { "" } else { "s" }, pluralize!(expected.len()),
) )
); );
} else if !self.same_type_modulo_infer(given_ty, expected_ty) { } else if !self.same_type_modulo_infer(given_ty, expected_ty) {

View file

@ -15,7 +15,7 @@ use crate::check::{
use crate::structured_errors::StructuredDiagnostic; use crate::structured_errors::StructuredDiagnostic;
use rustc_ast as ast; use rustc_ast as ast;
use rustc_errors::{Applicability, Diagnostic, DiagnosticId, MultiSpan}; use rustc_errors::{pluralize, Applicability, Diagnostic, DiagnosticId, MultiSpan};
use rustc_hir as hir; use rustc_hir as hir;
use rustc_hir::def::{CtorOf, DefKind, Res}; use rustc_hir::def::{CtorOf, DefKind, Res};
use rustc_hir::def_id::DefId; use rustc_hir::def_id::DefId;
@ -645,7 +645,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
"argument" "argument"
), ),
potentially_plural_count(provided_args.len(), "argument"), potentially_plural_count(provided_args.len(), "argument"),
if provided_args.len() == 1 { "was" } else { "were" } pluralize!("was", provided_args.len())
), ),
DiagnosticId::Error(err_code.to_owned()), DiagnosticId::Error(err_code.to_owned()),
); );
@ -770,7 +770,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
if c_variadic { "at least " } else { "" }, if c_variadic { "at least " } else { "" },
potentially_plural_count(formal_and_expected_inputs.len(), "argument"), potentially_plural_count(formal_and_expected_inputs.len(), "argument"),
potentially_plural_count(provided_args.len(), "argument"), potentially_plural_count(provided_args.len(), "argument"),
if provided_args.len() == 1 { "was" } else { "were" } pluralize!("was", provided_args.len())
), ),
DiagnosticId::Error(err_code.to_owned()), DiagnosticId::Error(err_code.to_owned()),
) )

View file

@ -1123,7 +1123,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
add a `use` for {one_of_them}:", add a `use` for {one_of_them}:",
an = if candidates.len() == 1 { "an" } else { "" }, an = if candidates.len() == 1 { "an" } else { "" },
s = pluralize!(candidates.len()), s = pluralize!(candidates.len()),
were = if candidates.len() == 1 { "was" } else { "were" }, were = pluralize!("was", candidates.len()),
one_of_them = if candidates.len() == 1 { "it" } else { "one_of_them" }, one_of_them = if candidates.len() == 1 { "it" } else { "one_of_them" },
); );
self.suggest_use_candidates(&mut err, help, candidates); self.suggest_use_candidates(&mut err, help, candidates);

View file

@ -2,7 +2,7 @@ use crate::check::regionck::OutlivesEnvironmentExt;
use crate::constrained_generic_params::{identify_constrained_generic_params, Parameter}; use crate::constrained_generic_params::{identify_constrained_generic_params, Parameter};
use rustc_ast as ast; use rustc_ast as ast;
use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::fx::{FxHashMap, FxHashSet};
use rustc_errors::{struct_span_err, Applicability, DiagnosticBuilder, ErrorGuaranteed}; use rustc_errors::{pluralize, struct_span_err, Applicability, DiagnosticBuilder, ErrorGuaranteed};
use rustc_hir as hir; use rustc_hir as hir;
use rustc_hir::def_id::{DefId, LocalDefId}; use rustc_hir::def_id::{DefId, LocalDefId};
use rustc_hir::lang_items::LangItem; use rustc_hir::lang_items::LangItem;
@ -474,7 +474,7 @@ fn check_gat_where_clauses(tcx: TyCtxt<'_>, associated_items: &[hir::TraitItemRe
unsatisfied_bounds.sort(); unsatisfied_bounds.sort();
if !unsatisfied_bounds.is_empty() { if !unsatisfied_bounds.is_empty() {
let plural = if unsatisfied_bounds.len() > 1 { "s" } else { "" }; let plural = pluralize!(unsatisfied_bounds.len());
let mut err = tcx.sess.struct_span_err( let mut err = tcx.sess.struct_span_err(
gat_item_hir.span, gat_item_hir.span,
&format!("missing required bound{} on `{}`", plural, gat_item_hir.ident), &format!("missing required bound{} on `{}`", plural, gat_item_hir.ident),

View file

@ -420,12 +420,10 @@ impl<'a, 'tcx> WrongNumberOfGenericArgs<'a, 'tcx> {
let provided_lt_args = self.num_provided_lifetime_args(); let provided_lt_args = self.num_provided_lifetime_args();
let provided_type_or_const_args = self.num_provided_type_or_const_args(); let provided_type_or_const_args = self.num_provided_type_or_const_args();
let get_verb = |num_args| if num_args == 1 { "was" } else { "were" };
let (provided_args_str, verb) = match self.gen_args_info { let (provided_args_str, verb) = match self.gen_args_info {
MissingLifetimes { .. } | ExcessLifetimes { .. } => ( MissingLifetimes { .. } | ExcessLifetimes { .. } => (
format!("{} lifetime argument{}", provided_lt_args, pluralize!(provided_lt_args)), format!("{} lifetime argument{}", provided_lt_args, pluralize!(provided_lt_args)),
get_verb(provided_lt_args), pluralize!("was", provided_lt_args),
), ),
MissingTypesOrConsts { .. } | ExcessTypesOrConsts { .. } => ( MissingTypesOrConsts { .. } | ExcessTypesOrConsts { .. } => (
format!( format!(
@ -433,7 +431,7 @@ impl<'a, 'tcx> WrongNumberOfGenericArgs<'a, 'tcx> {
provided_type_or_const_args, provided_type_or_const_args,
pluralize!(provided_type_or_const_args) pluralize!(provided_type_or_const_args)
), ),
get_verb(provided_type_or_const_args), pluralize!("was", provided_type_or_const_args),
), ),
}; };