Macro static_assertions::assert_eq_align [−][src]
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.
Examples
A 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 i32:
assert_eq_align!([i32; 4], i32);
The following example fails to compile because i32x4 explicitly has 4
times the alignment as [i32; 4]:
ⓘ
#[repr(align(16))] struct i32x4([i32; 4]); assert_eq_align!(i32x4, [i32; 4]);