W3cubDocs

/Rust

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);
}

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0588.html