Rollup merge of #125739 - RalfJung:drop-in-place-docs, r=workingjubilee
drop_in_place: weaken the claim of equivalence with drop(ptr.read()) The two are *not* semantically equivalent in all cases, so let's not be so definite about this. Fixes https://github.com/rust-lang/rust/issues/112015
This commit is contained in:
commit
60c2d80482
2 changed files with 18 additions and 1 deletions
12
src/tools/miri/tests/pass/drop_in_place.rs
Normal file
12
src/tools/miri/tests/pass/drop_in_place.rs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
// Miri currently doesn't require types without drop glue to be
|
||||
// valid when dropped. This test confirms that behavior.
|
||||
// This is not a stable guarantee!
|
||||
|
||||
use std::ptr;
|
||||
|
||||
fn main() {
|
||||
let mut not_a_bool = 13u8;
|
||||
unsafe {
|
||||
ptr::drop_in_place(&mut not_a_bool as *mut u8 as *mut bool)
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue