pub fn check_alignment<T>(ptr: *const u8) -> Result<(), SafetyError>Expand description
Check that a pointer is properly aligned for type T.
ยงExample
use serializer::safety::{check_alignment, SafetyError};
let aligned: [u64; 2] = [0, 0];
let ptr = aligned.as_ptr() as *const u8;
// u64 requires 8-byte alignment
assert!(check_alignment::<u64>(ptr).is_ok());
// Offset by 1 byte - now misaligned for u64
let misaligned = unsafe { ptr.add(1) };
assert!(matches!(
check_alignment::<u64>(misaligned),
Err(SafetyError::Misaligned { needed: 8, actual: 1 })
));