Function safe_transmute::to_bytes::transmute_one_to_bytes_mut [−][src]
pub fn transmute_one_to_bytes_mut<S: TriviallyTransmutable>(
from: &mut S
) -> &mut [u8]
Transmute a single instance of a trivially transmutable type into a slice of its bytes.
Examples
An u32
:
// Little-endian assert_eq!(transmute_one_to_bytes_mut(&mut 0x0123_4567), &mut [0x67, 0x45, 0x23, 0x01]);
An arbitrary type:
#[repr(C)] #[derive(Clone, Copy, Debug, Eq, PartialEq)] struct Gene { x1: u8, x2: u8, } unsafe impl TriviallyTransmutable for Gene {} let mut gene = Gene { x1: 0x42, x2: 0x69, }; { let gene_data = transmute_one_to_bytes_mut(&mut gene); assert_eq!(gene_data, &mut [0x42, 0x69]); gene_data[0] = 0xB0; } assert_eq!(gene, Gene { x1: 0xB0, x2: 0x69, });