I would argue that asm!
-based freeze can't have angelic nondeterminism because it can produce outputs that later cause UB, e.g. if the output is MaybeUninit<&u8>
, it could produce null, which would be UB to assume_init()
. angelic nondeterminism specifically chooses whichever values won't produce UB, but here the asm!
and assume_init
can easily produce UB.
1 Like