clear resume step on first step after forced backtrack
Matt S Trout [Sat, 12 Mar 2016 05:35:08 +0000 (05:35 +0000)]
lib/DX/SearchState.pm

index f136e33..c1aae18 100644 (file)
@@ -1,10 +1,11 @@
 package DX::SearchState;
 
+use Types::Standard qw(Maybe);
 use DX::Class;
 
 has current_hypothesis => (is => 'ro', isa => Hypothesis, required => 1);
 
-has resume_step => (is => 'ro', isa => Step);
+has resume_step => (is => 'ro', isa => Maybe[Step]);
 
 has alternatives => (is => 'ro', isa => AlternativeList, required => 1);
 
@@ -33,7 +34,8 @@ sub with_one_step {
                   [ $hyp, $alt_step ],
                   @alt
                ])
-             : ())
+             : ()),
+          resume_step => undef,
         );
       }
       $step = $alt_step;