Function safe_transmute::transmute_many_mut

source ·
pub fn transmute_many_mut<T: TriviallyTransmutable, G: Guard>(
    bytes: &mut [u8]
) -> Result<&mut [T], Error<'_, u8, T>>
Expand description

Transmute a mutable byte slice into a mutable sequence of values of the given type.

§Errors

An error is returned in one of the following situations:

  • The data does not have a memory alignment compatible with T. You will have to make a copy anyway, or modify how the data was originally made.
  • The data does not comply with the policies of the given guard G.

§Examples

// Little-endian
assert_eq!(transmute_many_mut::<u16, SingleManyGuard>(&mut [0x00, 0x01, 0x00, 0x02])?,
           &mut [0x0100, 0x0200]);