Asserts that types are equal in alignment.
This is useful when ensuring that pointer arithmetic is done correctly, or when FFI requires a type to have the same alignment as some foreign type.
usize has the same alignment as any pointer type:
assert_eq_align!(usize, *const u8, *mut u8);
The following passes because
[i32; 4] has the same alignment as
assert_eq_align!([i32; 4], i32);
The following example fails to compile because
i32x4 explicitly has 4
times the alignment as
#[repr(align(16))] struct i32x4([i32; 4]); assert_eq_align!(i32x4, [i32; 4]);