@@ -297,6 +297,7 @@ fn activate_deps_loop(
297
297
// As we mentioned above with the `backtracked` variable if this
298
298
// local is set to `true` then our `conflicting_activations` may
299
299
// not be right, so we can't push into our global cache.
300
+ let mut generalize_conflicting_activations = None ;
300
301
if !just_here_for_the_error_messages && !backtracked {
301
302
past_conflicting_activations. insert ( & dep, & conflicting_activations) ;
302
303
if let Some ( c) = generalize_conflicting (
@@ -307,7 +308,7 @@ fn activate_deps_loop(
307
308
& dep,
308
309
& conflicting_activations,
309
310
) {
310
- conflicting_activations = c ;
311
+ generalize_conflicting_activations = Some ( c ) ;
311
312
}
312
313
}
313
314
@@ -316,7 +317,9 @@ fn activate_deps_loop(
316
317
& mut backtrack_stack,
317
318
& parent,
318
319
backtracked,
319
- & conflicting_activations,
320
+ generalize_conflicting_activations
321
+ . as_ref ( )
322
+ . unwrap_or ( & conflicting_activations) ,
320
323
) {
321
324
Some ( ( candidate, has_another, frame) ) => {
322
325
// Reset all of our local variables used with the
@@ -885,7 +888,7 @@ fn generalize_conflicting(
885
888
// and let `jumpback_critical_id` figure this out.
886
889
return None ;
887
890
}
888
- // What parents dose that critical activation have
891
+ // What parents does that critical activation have
889
892
for ( critical_parent, critical_parents_deps) in
890
893
cx. parents . edges ( & jumpback_critical_id) . filter ( |( p, _) | {
891
894
// it will only help backjump further if it is older then the critical_age
0 commit comments