do not deref AttrVar binding in redo_attr_var_binding (#2059)

This commit is contained in:
Mark
2023-09-28 15:25:57 -06:00
parent 40d3345cd5
commit 11cd42379b

View File

@@ -5659,7 +5659,9 @@ impl Machine {
}
#[inline(always)]
pub(crate) fn redo_attr_var_binding(&mut self) {
let var = self.deref_register(1);
// registers[1] MUST NOT be dereferenced here. the original
// AttrVar binding site must be preserved.
let var = self.machine_st.registers[1];
let value = self.deref_register(2);
debug_assert_eq!(HeapCellValueTag::AttrVar, var.get_tag());