From: Mark Thom Date: Tue, 5 Feb 2019 06:04:31 +0000 (-0700) Subject: properly copy already-copied attributed variables as shallow members of lists X-Git-Tag: v0.8.110~272 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=3f5ff2eae151b8fe49cec27dd8fc6b6dec067cf8;p=scryer-prolog.git properly copy already-copied attributed variables as shallow members of lists --- diff --git a/src/prolog/copier.rs b/src/prolog/copier.rs index a635ff76..5c918d5a 100644 --- a/src/prolog/copier.rs +++ b/src/prolog/copier.rs @@ -89,7 +89,7 @@ pub(crate) trait CopierTarget: IndexMut let rd = self.store(self.deref(ra)); match rd.clone() { - Addr::HeapCell(hc) if hc >= old_h => + Addr::AttrVal(h) | Addr::HeapCell(h) if h >= old_h => self[threshold] = HeapCellValue::Addr(rd), ra @ Addr::AttrVar(_) | ra @ Addr::HeapCell(..) | ra @ Addr::StackCell(..) => if ra == rd {