#[repr(C)] union PtrRepr { const_ptr: *const T, mut_ptr: *mut T, components: PtrComponents, //~^ ERROR the trait bound //~| ERROR field must implement `Copy` } #[repr(C)] struct PtrComponents { data_address: *const (), metadata: ::Metadata, } pub trait Pointee { type Metadata; } fn main() {}