restore old thread_goals to fix top-level solutions printing bug

This commit is contained in:
Mark Thom
2021-11-23 19:59:35 -07:00
parent 4af57b0dd3
commit 10bb6ab3bb
4 changed files with 37 additions and 64 deletions

View File

@@ -2495,17 +2495,17 @@ impl MachineState {
&SystemClauseType::HeadIsDynamic => {
let module_name = cell_as_atom!(self.store(self.deref(self.registers[1])));
let (name, arity) = read_heap_cell!(self.store(self.deref(self.registers[2])),
(HeapCellValueTag::Str, s) => {
cell_as_atom_cell!(self.heap[s]).get_name_and_arity()
}
let (name, arity) = read_heap_cell!(self.store(self.deref(self.registers[2])),
(HeapCellValueTag::Str, s) => {
cell_as_atom_cell!(self.heap[s]).get_name_and_arity()
}
(HeapCellValueTag::Atom, (name, _arity)) => {
(name, 0)
}
(name, 0)
}
_ => {
unreachable!()
}
);
unreachable!()
}
);
self.fail = !indices.is_dynamic_predicate(module_name, (name, arity));
}