in reverie-ptrace/src/stack.rs [177:226]
fn transmute_sanity() {
assert_eq!(unsafe { transmute_u64s(1usize) }, vec![1]);
assert_eq!(unsafe { transmute_u64s(1u8) }, vec![1]);
assert_eq!(unsafe { transmute_u64s(0x12u16) }, vec![0x12]);
assert_eq!(unsafe { transmute_u64s(0x1234u32) }, vec![0x1234]);
assert_eq!(unsafe { transmute_u64s(0x12345678i32) }, vec![0x12345678]);
let arr: [u8; 1] = [0x11];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x11]);
let arr: [u8; 2] = [0x11, 0x22];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x2211]);
let arr: [u8; 3] = [0x11, 0x22, 0x33];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x332211]);
let arr: [u8; 4] = [0x11, 0x22, 0x33, 0x44];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x44332211]);
let arr: [u8; 5] = [0x11, 0x22, 0x33, 0x44, 0x55];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x5544332211]);
let arr: [u8; 6] = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x665544332211]);
let arr: [u8; 7] = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x0077665544332211u64]);
let arr: [u8; 8] = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88];
assert_eq!(unsafe { transmute_u64s(arr) }, vec![0x8877665544332211]);
let arr: [u8; 9] = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99];
assert_eq!(
unsafe { transmute_u64s(arr) },
vec![0x8877665544332211, 0x99]
);
let arr: [u8; 10] = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa];
assert_eq!(
unsafe { transmute_u64s(arr) },
vec![0x8877665544332211, 0xaa99]
);
let tp: libc::timespec = libc::timespec {
tv_sec: 0x12,
tv_nsec: 0x3456789a,
};
assert_eq!(unsafe { transmute_u64s(tp) }, vec![0x12, 0x3456789a]);
}