}
(HeapCellValueTag::PStrLoc | HeapCellValueTag::PStrOffset, h) => {
let (focus, _) = pstr_loc_and_offset(&self.heap, h);
- let pstr_atom = read_heap_cell!(self.heap[focus],
- (HeapCellValueTag::CStr | HeapCellValueTag::PStr, pstr_atom) => {
- pstr_atom
- }
- _ => {
- unreachable!()
- }
- );
+ let pstr_atom = cell_as_atom!(self.heap[focus]);
if has_tail {
self.s = HeapPtr::PStrLocation(focus, offset);
'$print_attribute_goals_exception'(Module, E) :-
( E = error(evaluation_error((Module:attribute_goals)/3), attribute_goals/3)
+ ; E = error(existence_error(procedure, attribute_goals/3), attribute_goals/3)
-> true
; loader:write_error(E),
nl