about summary refs log tree commit diff
path: root/tests/coverage/async_block.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-09-10 02:18:51 +0000
committerbors <bors@rust-lang.org>2024-09-10 02:18:51 +0000
commit304b7f801bab31233680879ca4fb6eb294706a59 (patch)
tree055d4e61a81f90059600a3aeca1b8526eae394e6 /tests/coverage/async_block.rs
parent712463de61c65033a6f333f0a14fbb65e34efc50 (diff)
parent0a70924c2160c8f93a446328e207a1983e62596a (diff)
downloadrust-304b7f801bab31233680879ca4fb6eb294706a59.tar.gz
rust-304b7f801bab31233680879ca4fb6eb294706a59.zip
Auto merge of #129778 - RalfJung:interp-lossy-typed-copy, r=saethlin
interpret: make typed copies lossy wrt provenance and padding

A "typed copy" in Rust can be a lossy process: when copying at type `usize` (or any other non-pointer type), if the original memory had any provenance, that provenance is lost. When copying at pointer type, if the original memory had partial provenance (i.e., not the same provenance for all bytes), that provenance is lost. When copying any type with padding, the contents of padding are lost.

This PR equips our validity-checking pass with the ability to reset provenance and padding according to those rules. Can be reviewed commit-by-commit. The first three commits are just preparation without any functional change.

Fixes https://github.com/rust-lang/miri/issues/845
Fixes https://github.com/rust-lang/miri/issues/2182
Diffstat (limited to 'tests/coverage/async_block.rs')
0 files changed, 0 insertions, 0 deletions