diff --git a/compiler/rustc_trait_selection/src/solve/canonical/mod.rs b/compiler/rustc_trait_selection/src/solve/canonical/mod.rs index 01a011a000ef..9d45e78ebab0 100644 --- a/compiler/rustc_trait_selection/src/solve/canonical/mod.rs +++ b/compiler/rustc_trait_selection/src/solve/canonical/mod.rs @@ -55,13 +55,6 @@ impl<'tcx> EvalCtxt<'_, 'tcx> { let goals_certainty = self.try_evaluate_added_goals()?; let certainty = certainty.unify_and(goals_certainty); - if let Certainty::Yes = certainty { - assert!( - self.nested_goals.is_empty(), - "Cannot be certain of query response if unevaluated goals exist" - ); - } - let external_constraints = self.compute_external_query_constraints()?; let response = Response { var_values: self.var_values, external_constraints, certainty }; diff --git a/compiler/rustc_trait_selection/src/solve/mod.rs b/compiler/rustc_trait_selection/src/solve/mod.rs index 13d6602b7e12..5986b40d9a98 100644 --- a/compiler/rustc_trait_selection/src/solve/mod.rs +++ b/compiler/rustc_trait_selection/src/solve/mod.rs @@ -88,12 +88,10 @@ impl<'tcx> InferCtxtEvalExt<'tcx> for InferCtxt<'tcx> { }; let result = ecx.evaluate_goal(IsNormalizesToHack::No, goal); - if let Ok((_, Certainty::Yes)) = result { - assert!( - ecx.nested_goals.is_empty(), - "Cannot be certain of query response if unevaluated goals exist" - ); - } + assert!( + ecx.nested_goals.is_empty(), + "root `EvalCtxt` should not have any goals added to it" + ); assert!(search_graph.is_empty()); result