allow characters as atoms in Machine::use_module and Machine::use_qualified_module

This commit is contained in:
Mark Thom
2020-04-15 10:32:23 -06:00
parent 5f8f0d8573
commit 023ee688d3

View File

@@ -632,8 +632,12 @@ impl Machine {
let addr = self.machine_st.store(self.machine_st.deref(module_spec));
match self.machine_st.heap.index_addr(&addr).as_ref() {
HeapCellValue::Atom(name, _) => name.clone(),
_ => unreachable!(),
HeapCellValue::Atom(name, _) =>
name.clone(),
HeapCellValue::Addr(Addr::Char(c)) =>
clause_name!(c.to_string(), self.indices.atom_tbl),
_ =>
unreachable!(),
}
};
@@ -679,8 +683,12 @@ impl Machine {
let addr = self.machine_st.store(self.machine_st.deref(module_spec));
match self.machine_st.heap.index_addr(&addr).as_ref() {
HeapCellValue::Atom(name, _) => name.clone(),
_ => unreachable!(),
HeapCellValue::Atom(name, _) =>
name.clone(),
HeapCellValue::Addr(Addr::Char(c)) =>
clause_name!(c.to_string(), self.indices.atom_tbl),
_ =>
unreachable!(),
}
};