Miri's model of memory can only attach provenance to pointer-sized chunks of memory, but not to individual bytes. This leads to incorrect behavior in several situations:
- We cannot copy a pointer one
MaybeUninit<u8> at a time. In particular this affects ptr::swap_nonoverlapping.
- We cannot overwrite some of the bytes of a pointer, but preserve provenance on the bytes that remain.