File tree Expand file tree Collapse file tree 1 file changed +5
-3
lines changed
compiler/rustc_trait_selection/src/traits Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -155,10 +155,12 @@ fn pred_known_to_hold_modulo_regions<'tcx>(
155155 predicate : pred. to_predicate ( infcx. tcx ) ,
156156 } ;
157157
158- let result = infcx. predicate_must_hold_modulo_regions ( & obligation) ;
158+ let result = infcx. evaluate_obligation_no_overflow ( & obligation) ;
159159 debug ! ( ?result) ;
160160
161- if result && has_non_region_infer {
161+ if result. must_apply_modulo_regions ( ) && !has_non_region_infer {
162+ true
163+ } else if result. may_apply ( ) {
162164 // Because of inference "guessing", selection can sometimes claim
163165 // to succeed while the success requires a guess. To ensure
164166 // this function's result remains infallible, we must confirm
@@ -179,7 +181,7 @@ fn pred_known_to_hold_modulo_regions<'tcx>(
179181 }
180182 }
181183 } else {
182- result
184+ false
183185 }
184186}
185187
You can’t perform that action at this time.
0 commit comments