shared/
slice.rs

1pub fn align_slice_to<T>(data: &[u8]) -> Option<&[T]> {
2    let (prefix, aligned, suffix) = unsafe { data.align_to::<T>() };
3
4    if prefix.is_empty() && suffix.is_empty() {
5        Some(aligned)
6    } else {
7        log::warning!(
8            "Slice alignment failed: prefix size {}, suffix size {}",
9            prefix.len(),
10            suffix.len()
11        );
12        None
13    }
14}