Combined 4 commits into 1

Fixed numerus of error message

Removed superfluous argument

Using pluralize!() instead of code duplication

Adjusted a test
This commit is contained in:
Matthias Kaak 2021-10-02 23:14:48 +00:00
parent f03eb6bef8
commit d6a7e74c81
2 changed files with 11 additions and 5 deletions

View File

@ -10,7 +10,9 @@ use crate::traits::normalize_projection_type;
use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::fx::FxHashSet;
use rustc_data_structures::stack::ensure_sufficient_stack; use rustc_data_structures::stack::ensure_sufficient_stack;
use rustc_data_structures::sync::Lrc; use rustc_data_structures::sync::Lrc;
use rustc_errors::{error_code, struct_span_err, Applicability, DiagnosticBuilder, Style}; use rustc_errors::{
error_code, pluralize, struct_span_err, Applicability, DiagnosticBuilder, Style,
};
use rustc_hir as hir; use rustc_hir as hir;
use rustc_hir::def::DefKind; use rustc_hir::def::DefKind;
use rustc_hir::def_id::DefId; use rustc_hir::def_id::DefId;
@ -2273,7 +2275,11 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> {
parent_trait_ref = child_trait_ref; parent_trait_ref = child_trait_ref;
} }
if count > 0 { if count > 0 {
err.note(&format!("{} redundant requirements hidden", count)); err.note(&format!(
"{} redundant requirement{} hidden",
count,
pluralize!(count)
));
err.note(&format!( err.note(&format!(
"required because of the requirements on the impl of `{}` for `{}`", "required because of the requirements on the impl of `{}` for `{}`",
parent_trait_ref.print_only_trait_path(), parent_trait_ref.print_only_trait_path(),

View File

@ -15,7 +15,7 @@ note: required because of the requirements on the impl of `Grault` for `(T,)`
| |
LL | impl<T: Grault> Grault for (T,) LL | impl<T: Grault> Grault for (T,)
| ^^^^^^ ^^^^ | ^^^^^^ ^^^^
= note: 1 redundant requirements hidden = note: 1 redundant requirement hidden
= note: required because of the requirements on the impl of `Grault` for `(T,)` = note: required because of the requirements on the impl of `Grault` for `(T,)`
error[E0275]: overflow evaluating the requirement `<(T,) as Grault>::A == _` error[E0275]: overflow evaluating the requirement `<(T,) as Grault>::A == _`
@ -29,7 +29,7 @@ note: required because of the requirements on the impl of `Grault` for `(T,)`
| |
LL | impl<T: Grault> Grault for (T,) LL | impl<T: Grault> Grault for (T,)
| ^^^^^^ ^^^^ | ^^^^^^ ^^^^
= note: 1 redundant requirements hidden = note: 1 redundant requirement hidden
= note: required because of the requirements on the impl of `Grault` for `(T,)` = note: required because of the requirements on the impl of `Grault` for `(T,)`
error[E0275]: overflow evaluating the requirement `<(T,) as Grault>::A == _` error[E0275]: overflow evaluating the requirement `<(T,) as Grault>::A == _`
@ -43,7 +43,7 @@ note: required because of the requirements on the impl of `Grault` for `(T,)`
| |
LL | impl<T: Grault> Grault for (T,) LL | impl<T: Grault> Grault for (T,)
| ^^^^^^ ^^^^ | ^^^^^^ ^^^^
= note: 1 redundant requirements hidden = note: 1 redundant requirement hidden
= note: required because of the requirements on the impl of `Grault` for `(T,)` = note: required because of the requirements on the impl of `Grault` for `(T,)`
error: aborting due to 3 previous errors error: aborting due to 3 previous errors