True. It would be helpful to know when and where exactly LLVM starts making alignment assumptions (in the IR generated by rustc) – then we could define Rust’s alignment assumptions accordingly. Currently miri does not check empty accesses, but it does check on every &
– which can’t be entirely right, because you are supposed to be able to do &unaligned.field as *const _
.
Rules for alignment and non-NULLness of references
RalfJung
#21