use eager_stackful_preorder_iter in variable_set, add term_variables/1 tests
This commit is contained in:
@@ -1621,7 +1621,7 @@ impl MachineState {
|
||||
|
||||
// returns true on failure.
|
||||
pub fn ground_test(&mut self) -> bool {
|
||||
let iter = EagerStackfulPreOrderHeapIter::new(&mut self.heap, self.registers[1]);
|
||||
let iter = eager_stackful_preorder_iter(&mut self.heap, self.registers[1]);
|
||||
|
||||
for term in iter {
|
||||
if term.is_var() {
|
||||
|
||||
@@ -583,20 +583,11 @@ impl MachineState {
|
||||
seen_set: &mut IndexSet<HeapCellValue, S>,
|
||||
value: HeapCellValue,
|
||||
) {
|
||||
let mut iter = stackful_preorder_iter::<NonListElider>(&mut self.heap, &mut self.stack, value);
|
||||
let iter = eager_stackful_preorder_iter(&mut self.heap, value);
|
||||
|
||||
while let Some(value) = iter.next() {
|
||||
let value = unmark_cell_bits!(value);
|
||||
|
||||
if value.is_var() {
|
||||
let value = unmark_cell_bits!(heap_bound_store(
|
||||
iter.heap,
|
||||
heap_bound_deref(iter.heap, value)
|
||||
));
|
||||
|
||||
if value.is_var() {
|
||||
seen_set.insert(value);
|
||||
}
|
||||
for term in iter {
|
||||
if term.is_var() {
|
||||
seen_set.insert(term);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user