diff options
Diffstat (limited to 'src/test/ui/issues/issue-99838.rs')
-rw-r--r-- | src/test/ui/issues/issue-99838.rs | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/src/test/ui/issues/issue-99838.rs b/src/test/ui/issues/issue-99838.rs deleted file mode 100644 index 2e81d5e82..000000000 --- a/src/test/ui/issues/issue-99838.rs +++ /dev/null @@ -1,40 +0,0 @@ -// run-pass - -use std::hint; - -struct U16(u16); - -impl Drop for U16 { - fn drop(&mut self) { - // Prevent LLVM from optimizing away our alignment check. - assert!(hint::black_box(self as *mut U16 as usize) % 2 == 0); - } -} - -struct HasDrop; - -impl Drop for HasDrop { - fn drop(&mut self) {} -} - -struct Wrapper { - _a: U16, - b: HasDrop, -} - -#[repr(packed)] -struct Misalign(u8, Wrapper); - -fn main() { - let m = Misalign( - 0, - Wrapper { - _a: U16(10), - b: HasDrop, - }, - ); - // Put it somewhere definitely even (so the `a` field is definitely at an odd address). - let m: ([u16; 0], Misalign) = ([], m); - // Move out one field, so we run custom per-field drop logic below. - let _x = m.1.1.b; -} |