#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::ptr::NonNull; fn main() { unsafe { let x = [5_u8, 6, 7, 8, 9]; let ptr = NonNull::new(x.as_ptr() as *mut u8).unwrap(); let offset = ptr.align_offset(align_of::()); if offset < x.len() - 1 { let u16_ptr = ptr.add(offset).cast::(); assert!( u16_ptr.read() == u16::from_ne_bytes([5, 6]) || u16_ptr.read() == u16::from_ne_bytes([6, 7]) ); } else {} } }