summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-99838.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/issue-99838.rs')
-rw-r--r--src/test/ui/issues/issue-99838.rs40
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;
-}