compare characters directly in term comparison tests

This commit is contained in:
Mark Thom
2020-03-05 12:50:11 -07:00
parent 2d3ce32314
commit 9852e30b39

View File

@@ -2300,6 +2300,14 @@ impl MachineState {
return Ordering::Greater;
}
}
(
HeapCellValue::Addr(Addr::Con(Constant::Char(c1))),
HeapCellValue::Addr(Addr::Con(Constant::Char(c2))),
) => {
if c1 != c2 {
return c1.cmp(&c2);
}
}
(
HeapCellValue::Addr(Addr::Con(Constant::Atom(atom, _))),
HeapCellValue::Addr(Addr::Con(Constant::Char(c))),
@@ -2366,7 +2374,9 @@ impl MachineState {
HeapCellValue::Addr(Addr::AttrVar(hc1)),
HeapCellValue::Addr(Addr::PStrTail(hc2, _)),
) => {
return hc1.cmp(&hc2);
if hc1 != hc2 {
return hc1.cmp(&hc2);
}
}
(HeapCellValue::Addr(Addr::HeapCell(_)), _)
| (HeapCellValue::Addr(Addr::AttrVar(_)), _)