repr_align_enum

The tracking issue for this feature is: #57996


The repr_align_enum feature allows using the #[repr(align(x))] attribute on enums, similarly to structs.

Examples

#![feature(repr_align_enum)] #[repr(align(8))] enum Aligned { Foo, Bar { value: u32 }, } fn main() { assert_eq!(std::mem::align_of::<Aligned>(), 8); }

This is equivalent to using an aligned wrapper struct everywhere:

#[repr(align(8))] struct Aligned(Unaligned); enum Unaligned { Foo, Bar { value: u32 }, } fn main() { assert_eq!(std::mem::align_of::<Aligned>(), 8); }