use core::slice; use core::mem::size_of; pub trait AsBytes: Sized { fn as_bytes(&self) -> &[u8] { unsafe { slice::from_raw_parts(self as *const _ as *const u8, size_of::()) } } } impl AsBytes for u128 {} impl AsBytes for u64 {} impl AsBytes for u32 {} impl AsBytes for u16 {} impl AsBytes for u8 {}