blob: e39d72b4a45c4f8f5effa481dba9b8da4c9067dc [file] [log] [blame] [edit]
#![allow(dead_code)]
//@ ignore-emscripten weird assertion?
#[repr(packed)]
#[derive(Clone, Copy)]
struct Foo1(usize);
#[repr(packed(4))]
#[derive(Clone, Copy)]
struct Foo4(usize);
#[repr(packed(2))]
union Bar2 {
foo1: Foo1,
foo4: Foo4,
}
pub fn main() {
let bar = Bar2 { foo1: Foo1(2) };
let brw = unsafe { &bar.foo1.0 }; //~ERROR reference to field of packed struct is unaligned
assert_eq!(*brw, 2);
let bar = Bar2 { foo4: Foo4(2) };
let brw = unsafe { &bar.foo4.0 }; //~ERROR reference to field of packed union is unaligned
assert_eq!(*brw, 2);
}