alternatives are correct rather than always backtrack
[scpubgit/DX.git] / lib / DX / Step / ResolveProposition.pm
index 150ddc2..d1ad465 100644 (file)
@@ -62,7 +62,12 @@ sub apply_to {
   (my $hyp, my @recheck) = $old_hyp->with_resolution(
     $prop, $vdeps, $res->actions
   );
-  return $ss->but(next_step => DX::Step::Backtrack->new) unless $hyp;
+  unless ($hyp) {
+    return $ss->but(
+      next_step
+        => $rspace->remaining_resolution_space->next_step
+    );
+  }
   return $ss->but(current_hypothesis => $hyp) unless @recheck;
   return $ss->but(
     current_hypothesis => $hyp,