Open
Description
The following code is currently DB as reported by Miri:
#[repr(transparent)]
struct LoudDrop(u8);
impl Drop for LoudDrop {
fn drop(&mut self) {
println!("{}", self.0);
}
}
#[repr(C)]
struct PartiallyDrop(LoudDrop, u8);
pub fn main() {
let mut x = LoudDrop(0);
let p = std::ptr::addr_of_mut!(x).cast::<PartiallyDrop>();
unsafe {
core::ptr::drop_in_place(p);
}
}
Should it be?