1
Fork 0

Break up long function in trait selection error reporting

- Move blocks of code into their own functions
- Replace a few function argument types with their type aliases
This commit is contained in:
Bryan Garza 2023-04-19 14:59:36 -07:00
parent 409661936f
commit d0d40d2a40
6 changed files with 659 additions and 430 deletions

View file

@ -591,7 +591,7 @@ impl<'tcx> AutoTraitFinder<'tcx> {
fn evaluate_nested_obligations(
&self,
ty: Ty<'_>,
nested: impl Iterator<Item = Obligation<'tcx, ty::Predicate<'tcx>>>,
nested: impl Iterator<Item = PredicateObligation<'tcx>>,
computed_preds: &mut FxIndexSet<ty::Predicate<'tcx>>,
fresh_preds: &mut FxHashSet<ty::Predicate<'tcx>>,
predicates: &mut VecDeque<ty::PolyTraitPredicate<'tcx>>,

View file

@ -341,6 +341,7 @@ pub struct OnUnimplementedNote {
/// should fallback to a generic message, `Some(None)` suggests using the default
/// appended message, `Some(Some(s))` suggests use the `s` message instead of the
/// default one..
/// FIXME(bryangarza): Change this to an enum with the 3 variants described above.
pub append_const_msg: Option<Option<Symbol>>,
}

View file

@ -386,7 +386,7 @@ pub trait TypeErrCtxtExt<'tcx> {
fn maybe_suggest_convert_to_slice(
&self,
err: &mut Diagnostic,
trait_ref: ty::Binder<'tcx, ty::TraitRef<'tcx>>,
trait_ref: ty::PolyTraitRef<'tcx>,
candidate_impls: &[ImplCandidate<'tcx>],
span: Span,
);
@ -3848,7 +3848,7 @@ impl<'tcx> TypeErrCtxtExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
fn maybe_suggest_convert_to_slice(
&self,
err: &mut Diagnostic,
trait_ref: ty::Binder<'tcx, ty::TraitRef<'tcx>>,
trait_ref: ty::PolyTraitRef<'tcx>,
candidate_impls: &[ImplCandidate<'tcx>],
span: Span,
) {