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}