about summary refs log tree commit diff
path: root/compiler/rustc_trait_selection/src
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2025-02-21 10:11:56 +0100
committerlcnr <rust@lcnr.de>2025-02-28 12:16:47 +0100
commit7eb677e7eb4d7f8235d43e1b01669557fca80487 (patch)
tree4877a3f6a3a6ba40e0f0a486854b9d2d2084e82e /compiler/rustc_trait_selection/src
parenta7970c0b271b3fc4c19f580977a44c46130c077a (diff)
downloadrust-7eb677e7eb4d7f8235d43e1b01669557fca80487.tar.gz
rust-7eb677e7eb4d7f8235d43e1b01669557fca80487.zip
normalizing where-clauses is also coinductive, add tests
Diffstat (limited to 'compiler/rustc_trait_selection/src')
-rw-r--r--compiler/rustc_trait_selection/src/solve/fulfill/derive_errors.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/rustc_trait_selection/src/solve/fulfill/derive_errors.rs b/compiler/rustc_trait_selection/src/solve/fulfill/derive_errors.rs
index 982782bc57c..4f177df89e2 100644
--- a/compiler/rustc_trait_selection/src/solve/fulfill/derive_errors.rs
+++ b/compiler/rustc_trait_selection/src/solve/fulfill/derive_errors.rs
@@ -438,7 +438,10 @@ impl<'tcx> ProofTreeVisitor<'tcx> for BestObligation<'tcx> {
 
             let obligation;
             match (child_mode, nested_goal.source()) {
-                (ChildMode::Trait(_) | ChildMode::Host(_), GoalSource::Misc) => {
+                (
+                    ChildMode::Trait(_) | ChildMode::Host(_),
+                    GoalSource::Misc | GoalSource::NormalizeGoal(_),
+                ) => {
                     continue;
                 }
                 (ChildMode::Trait(parent_trait_pred), GoalSource::ImplWhereBound) => {