return $self->but(current_search_state => $state);
}
-sub force_backtrack {
- my ($self) = @_;
- my $new_ss = $self->current_search_state->force_backtrack;
- # XXX infinite loop without the next line and I'm unsure why we don't
- # get a loop-ending undef from elsewhere if the backtrack failed
- return undef unless $new_ss->next_step;
- return $self->but(current_search_state => $new_ss);
-}
-
sub find_next_solution {
my ($self) = @_;
my $state = $self->current_search_state->with_one_step;