#![allow(dead_code)] | |
//@ ignore-emscripten weird assertion? | |
#[repr(packed)] | |
struct Foo1 { | |
bar: u8, | |
baz: usize | |
} | |
#[repr(packed(2))] | |
struct Foo2 { | |
bar: u8, | |
baz: usize | |
} | |
#[repr(C, packed(4))] | |
struct Foo4C { | |
bar: u8, | |
baz: usize | |
} | |
pub fn main() { | |
let foo = Foo1 { bar: 1, baz: 2 }; | |
let brw = &foo.baz; //~ERROR reference to packed field is unaligned | |
assert_eq!(*brw, 2); | |
let foo = Foo2 { bar: 1, baz: 2 }; | |
let brw = &foo.baz; //~ERROR reference to packed field is unaligned | |
assert_eq!(*brw, 2); | |
} |