diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-03-08 21:24:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-08 21:24:53 +0100 |
| commit | 33c30368264ea33a58227cb54e9a5122138bfc75 (patch) | |
| tree | 778e3e6017ecccdd70afbf21c9c67790c4a9d1bc /compiler/rustc_trait_selection/src | |
| parent | a95943b77dc74f75afe0f9884f56bc3eef2d871e (diff) | |
| parent | 204ba3224ef06f99622fd733cdc14afbc5d83c7e (diff) | |
Rollup merge of #108901 - LYF1999:yf/108897, r=lcnr
fix: evaluate with wrong obligation stack fix #108897 r? ``@lcnr``
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/select/mod.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/select/mod.rs b/compiler/rustc_trait_selection/src/traits/select/mod.rs index cd3f3c114ba..48c3b3601b4 100644 --- a/compiler/rustc_trait_selection/src/traits/select/mod.rs +++ b/compiler/rustc_trait_selection/src/traits/select/mod.rs @@ -1083,7 +1083,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { let mut nested_result = EvaluationResult::EvaluatedToOk; for obligation in nested_obligations { nested_result = cmp::max( - this.evaluate_predicate_recursively(stack.list(), obligation)?, + this.evaluate_predicate_recursively(previous_stack, obligation)?, nested_result, ); } @@ -1092,7 +1092,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { let obligation = obligation.with(this.tcx(), predicate); result = cmp::max( nested_result, - this.evaluate_trait_predicate_recursively(stack.list(), obligation)?, + this.evaluate_trait_predicate_recursively(previous_stack, obligation)?, ); } } |
