about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2022-05-10 07:50:39 +0000
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2022-05-10 07:50:39 +0000
commit2ea2ced2beec11b1c0e8d42e45a270684618367f (patch)
treedb6035195703f560b1f51a37f0745ec7bbfb63ba /compiler
parent87fd70c107b23fe08336a12a20a0f5e85561d499 (diff)
downloadrust-2ea2ced2beec11b1c0e8d42e45a270684618367f.tar.gz
rust-2ea2ced2beec11b1c0e8d42e45a270684618367f.zip
Simplify derived obligation peeling
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs20
1 files 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 7a3579eb1cc..8f4383b728d 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,
                                     };