has on_completion_step => (is => 'ro', isa => Step, required => 1);
-has on_failure_step => (is => 'ro', isa => Maybe[Step], required => 1);
+has resolution_space => (is => 'ro', isa => ResolutionSpace, required => 1);
sub apply_to {
my ($self, $old_ss) = @_;
was_recheck_for => $prop,
),
on_exhaustion_step => DX::Step::FailRecheck->new(
- resume_search_state => $old_ss->but(next_step => $self->on_failure_step),
+ resume_search_state => $old_ss,
+ resolution_space => $self->resolution_space,
),
);
has resume_search_state => (is => 'ro', isa => SearchState, required => 1);
+has resolution_space => (is => 'ro', isa => ResolutionSpace, required => 1);
+
sub apply_to {
my ($self, $old_ss) = @_;
trace recheck => [ statement => [ [ symbol => 'fail_recheck' ] ] ];
trace recheck => [ 'leave_block' ];
- return $self->resume_search_state;
+ return $self->resume_search_state->but(
+ next_step
+ => $self->resolution_space->remaining_resolution_space->next_step
+ );
}
1;
next_step => DX::Step::EnterRecheck->new(
proposition_list => \@recheck,
on_completion_step => $ss->next_step,
- on_failure_step => $rspace->remaining_resolution_space->next_step,
+ resolution_space => $rspace,
),
);
}