ryan-summers[m]: > <@ryan-summers:matrix.org> From the [docs](https://doc.rust-lang.org/std/mem/union.MaybeUninit.html): > > > Moreover, uninitialized memory is special in that it does not have a fixed value (“fixed” meaning “it won’t change without being written to”). Reading the same uninitialized byte multiple times can give different results. This makes it undefined behavior to have uninitialized data in a variable even if that variable has an integer type, which otherwise can hold any fixed bit pattern: Even *that* is not the truly scary thing. Uninit memory is *not* just "random unstable bitpattern" at runtime -- it is a compile time marker of whether that memory even exists in the first place within the context of the (Rust) abstract machine. The compiler is free to treat uninit memory as not existing, therefore it's free to delete reads from uninit memory altogether, and even delete whole branches of code because it can prove that branch would result in a read from uninit memory.