#![deny(safe_packed_borrows)] // check that derive on a packed struct with non-Copy fields // correctly. This can't be made to work perfectly because // we can't just use the field from the struct as it might // not be aligned. #[derive(Copy, Clone, PartialEq, Eq)] //~^ ERROR #[derive] can't be used //~| hard error //~^^^ ERROR #[derive] can't be used //~| hard error #[repr(packed)] pub struct Foo(T, T, T); #[derive(PartialEq, Eq)] //~^ ERROR #[derive] can't be used //~| hard error #[repr(packed)] pub struct Bar(u32, u32, u32); #[derive(PartialEq)] struct Y(usize); #[derive(PartialEq)] //~^ ERROR #[derive] can't be used //~| hard error #[repr(packed)] struct X(Y); fn main() {}