From 2ea2ced2beec11b1c0e8d42e45a270684618367f Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Tue, 10 May 2022 07:50:39 +0000 Subject: [PATCH] Simplify derived obligation peeling --- .../src/traits/error_reporting/mod.rs | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs index 7a3579eb1cc8..8f4383b728d5 100644 --- a/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs +++ b/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs @@ -694,29 +694,19 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> { } ObligationCauseCode::ImplDerivedObligation( box ImplDerivedObligationCause { - derived: - DerivedObligationCause { - parent_code, - parent_trait_pred, - }, + derived, .. }, ) | ObligationCauseCode::BuiltinDerivedObligation( - DerivedObligationCause { - parent_code, - parent_trait_pred, - }, + derived, ) | ObligationCauseCode::DerivedObligation( - DerivedObligationCause { - parent_code, - parent_trait_pred, - }, + derived, ) => { peeled = true; - code = &parent_code; - trait_pred = *parent_trait_pred; + code = &derived.parent_code; + trait_pred = derived.parent_trait_pred; } _ => break, };