E0588 - Error codes index
Description: Book listing all Rust error codes

# Error code E0588

A type with `packed` representation hint has a field with `align` representation hint.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    #[repr(align(16))]
    struct Aligned(i32);

    #[repr(packed)] // error!
    struct Packed(Aligned);
    }

Just like you cannot have both `align` and `packed` representation hints on the same type, a `packed` type cannot contain another type with the `align` representation hint. However, you can do the opposite:

    #![allow(unused)]
    fn main() {
    #[repr(packed)]
    struct Packed(i32);

    #[repr(align(16))] // ok!
    struct Aligned(Packed);
    }