]> Repositorios git - scryer-prolog.git/commitdiff
unmark cell bits in occurs check
authorMark Thom <[email protected]>
Thu, 18 Nov 2021 16:35:00 +0000 (09:35 -0700)
committerMark Thom <[email protected]>
Fri, 7 Jan 2022 04:44:41 +0000 (21:44 -0700)
src/machine/machine_state_impl.rs

index 1caa8a96ad730fe4ddb88ba56b05952d1b987877..47019772f9b0f113541bde4a0149f5b9aed91cb9 100644 (file)
@@ -882,6 +882,8 @@ impl MachineState {
 
         if !value.is_constant() {
             for addr in stackful_preorder_iter(&mut self.heap, value) {
+                let addr = unmark_cell_bits!(addr);
+
                 if let Some(inner_r) = addr.as_var() {
                     if r == inner_r {
                         occurs_triggered = true;