Closed
Description
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 affectsptr::swap_nonoverlapping
. - We cannot overwrite some of the bytes of a pointer, but preserve provenance on the bytes that remain.