]> Repositorios git - scryer-prolog.git/commitdiff
deref terms in read_from_term (#2668)
authorMark Thom <[email protected]>
Wed, 13 Aug 2025 05:23:52 +0000 (22:23 -0700)
committerMark Thom <[email protected]>
Wed, 13 Aug 2025 05:23:52 +0000 (22:23 -0700)
src/machine/loader.rs

index 08282f6811514370aac11d71c594af9fad13909a..2b49b50c69daebaf201783fb1b3794fbd74fba95 100644 (file)
@@ -1384,7 +1384,10 @@ impl MachineState {
             stackful_post_order_iter::<NonListElider>(&mut self.heap, &mut self.stack, 0);
 
         while let Some(addr) = iter.next() {
-            let addr = unmark_cell_bits!(addr);
+            let addr = unmark_cell_bits!(heap_bound_store(
+                iter.base_iter.heap,
+                heap_bound_deref(iter.base_iter.heap, addr),
+            ));
 
             read_heap_cell!(addr,
                 (HeapCellValueTag::Lis) => {