From: Mark Date: Sun, 5 Nov 2023 01:32:23 +0000 (-0600) Subject: fix compare_pstr_to_string (#2148) X-Git-Tag: v0.9.4~123 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=2dd1f6e8808089a4984005112d7cf05708c5b636;p=scryer-prolog.git fix compare_pstr_to_string (#2148) --- diff --git a/src/machine/partial_string.rs b/src/machine/partial_string.rs index 2123513d..cfbd4d8b 100644 --- a/src/machine/partial_string.rs +++ b/src/machine/partial_string.rs @@ -68,7 +68,7 @@ pub struct HeapPStrIter<'a> { stepper: fn(&mut HeapPStrIter<'a>) -> Option, } -#[derive(Debug)] +#[derive(Debug, Clone, Copy)] pub struct PStrPrefixCmpResult { pub focus: usize, pub offset: usize, @@ -193,7 +193,7 @@ impl<'a> HeapPStrIter<'a> { } } - final_result + Some(result) } fn walk_hare_to_cycle_end(&mut self) { @@ -336,9 +336,9 @@ impl<'a> HeapPStrIter<'a> { ); return value.as_char().map(|c| PStrIterStep { - iteratee: PStrIteratee::Char(curr_hare, c), - next_hare: h+1, - }); + iteratee: PStrIteratee::Char(curr_hare, c), + next_hare: h+1, + }); } (HeapCellValueTag::Str, s) => { let (name, arity) = cell_as_atom_cell!(self.heap[s])