use std::mem; fn get_raw_bytes_with_size<T: ?Sized>(p: &T, size: usize) -> Vec<u8> { let mut buf = Vec::with_capacity(size); let view = p as *const _ as *const u8; for i in 0..size { buf.push(unsafe {*view.offset(i as isize)}); } buf } fn get_raw_bytes<T>(p: &T) -> Vec<u8> { get_raw_bytes_with_size(p, mem::size_of::<T>()) } fn print_bytes(bytes: Vec<u8>) { for (i, x) in bytes.iter().enumerate() {