#![allow(dead_code)] #[repr(C)] enum A { A, } #[repr(u64)] enum B { B, } #[repr(C, u64)] //~ ERROR conflicting representation hints //~^ WARN this was previously accepted enum C { C, } #[repr(u32, u64)] //~ ERROR conflicting representation hints //~^ WARN this was previously accepted enum D { D, } #[repr(C, packed)] struct E(i32); #[repr(packed, align(8))] struct F(i32); //~ ERROR type has conflicting packed and align representation hints #[repr(packed)] #[repr(align(8))] struct G(i32); //~ ERROR type has conflicting packed and align representation hints #[repr(align(8))] #[repr(packed)] struct H(i32); //~ ERROR type has conflicting packed and align representation hints #[repr(packed, packed(2))] struct I(i32); //~ ERROR type has conflicting packed representation hints #[repr(packed(2))] #[repr(packed)] struct J(i32); //~ ERROR type has conflicting packed representation hints #[repr(packed, packed(1))] struct K(i32); #[repr(packed, align(8))] union X { //~^ ERROR type has conflicting packed and align representation hints i: i32, } #[repr(packed)] #[repr(align(8))] union Y { //~^ ERROR type has conflicting packed and align representation hints i: i32, } #[repr(align(8))] #[repr(packed)] union Z { //~^ ERROR type has conflicting packed and align representation hints i: i32, } #[repr(packed, align(0x100))] pub struct S(u16); //~ ERROR type has conflicting packed and align representation hints #[repr(packed, align(0x100))] pub union U { //~ ERROR type has conflicting packed and align representation hints u: u16 } static B: U = U { u: 0 }; static A: S = S(0); fn main() {}