Comparison with `=` and with CAS is not the same
Currently, heap_lang
allows more things to be compared with =
than with CAS
: for the latter, one of the two values-to-be-compared has to be "unboxed", meaning that it is a literal or inl/inr of a literal. If this condition is not met, the program is stuck.
@robbertkrebbers proposes that we should restrict =
in a similar way. On the other hand, it is nice that =
is a total operation currently.