//@ run-pass //@ reference: layout.aggregate.struct-size-align //@ edition: 2018 #[repr(align(64))] #[derive(Copy, Clone)] #[allow(dead_code)] pub struct Overaligned(u8); #[allow(dead_code)] union ReprRustUnion { x: i32, y: [u32; 4], z: f32, a: u128, b: Overaligned, } fn test_alignment_contains_all_fields() { assert!(core::mem::align_of::() >= core::mem::align_of::()); assert!(core::mem::align_of::() >= core::mem::align_of::<[u32; 4]>()); assert!(core::mem::align_of::() >= core::mem::align_of::()); assert!(core::mem::align_of::() >= core::mem::align_of::()); assert!(core::mem::align_of::() >= core::mem::align_of::()); } fn main() { test_alignment_contains_all_fields(); }