From: Mark Thom Date: Thu, 18 Nov 2021 16:35:00 +0000 (-0700) Subject: unmark cell bits in occurs check X-Git-Tag: v0.9.0^2~129 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=a0a86d0f6266503f6de14bcfde2e6a894301f7ac;p=scryer-prolog.git unmark cell bits in occurs check --- diff --git a/src/machine/machine_state_impl.rs b/src/machine/machine_state_impl.rs index 1caa8a96..47019772 100644 --- a/src/machine/machine_state_impl.rs +++ b/src/machine/machine_state_impl.rs @@ -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;