From: Mark Thom Date: Wed, 9 Mar 2022 05:00:12 +0000 (-0700) Subject: correct loading of variable name strings in write_term/3 X-Git-Tag: v0.9.1~119 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=9cefb3338852d9cbf36bba473150d5fb8cc13b4c;p=scryer-prolog.git correct loading of variable name strings in write_term/3 --- diff --git a/src/machine/machine_state.rs b/src/machine/machine_state.rs index 5b859fa9..a6b375b6 100644 --- a/src/machine/machine_state.rs +++ b/src/machine/machine_state.rs @@ -641,7 +641,18 @@ impl MachineState { continue; } - var_names.insert(var, Rc::new(cell_as_atom!(atom).as_str().to_owned())); + read_heap_cell!(atom, + (HeapCellValueTag::Char, c) => { + var_names.insert(var, Rc::new(c.to_string())); + } + (HeapCellValueTag::Atom, (name, _arity)) => { + debug_assert_eq!(_arity, 0); + var_names.insert(var, Rc::new(name.as_str().to_owned())); + } + _ => { + unreachable!(); + } + ); } } _ => {