Comment by oconnor663

3 years ago

> Aliasability-xor-mutability is just a rough approximation of the real rule, dereference-xor-destroyed.

This is true in a single-threaded context, but in a multithreaded (or interruptible) context, aliasing-xor-mutability is the real rule for everything other than atomics. Breaking that rule is a data race, which is per se UB in C/C++/Rust/Zig/Go/Swift.