//@compile-flags: -Cdebug-assertions=no #[repr(transparent)] struct HasDrop(u8); impl Drop for HasDrop { fn drop(&mut self) {} } #[repr(C, align(2))] struct PartialDrop { a: HasDrop, b: u8, } //@error-in-other-file: /required 2 byte alignment/ fn main() { unsafe { // Create an unaligned pointer let mut x = [0_u16; 2]; let p = core::ptr::addr_of_mut!(x).cast::(); let p = p.add(1); let p = p.cast::(); core::ptr::drop_in_place(p); } }