implement unify_ginteger to address FIXME in skip_max_list_cycle

This commit is contained in:
Mark Thom
2025-09-15 21:58:38 -07:00
parent 24f431e2ca
commit 72cdba82f5
5 changed files with 37 additions and 25 deletions

View File

@@ -744,11 +744,9 @@ impl MachineState {
}
let target_n = self.store(self.deref(self.registers[1]));
self.unify_fixnum(
/* FIXME this is not safe */
unsafe { Fixnum::build_with_unchecked(brent_st.num_steps() as i64) },
target_n,
);
let num_steps = fixnum!(GInteger, brent_st.num_steps() as i64, &mut self.arena);
self.unify_ginteger(num_steps, target_n);
if !self.fail {
unify!(self, self.registers[4], self.heap[prev_hare]);