pub unsafe fn from_bytes_unchecked<T>(
    bytes: &[u8]
) -> Result<T, <SharedDeserializeMap as Fallible>::Error>where
    T: Archive,
    T::Archived: Deserialize<T, SharedDeserializeMap>,
Expand description

Deserializes a value from the given bytes.

This function is only available with the alloc feature because it uses a general-purpose deserializer. In no-alloc and high-performance environments, the deserializer should be customized for the specific situation.

Safety

  • The byte slice must represent an archived object
  • The root of the object must be stored at the end of the slice (this is the default behavior)

Examples

let value = vec![1, 2, 3, 4];

let bytes = rkyv::to_bytes::<_, 1024>(&value).expect("failed to serialize vec");
// SAFETY:
// - The byte slice represents an archived object
// - The root of the object is stored at the end of the slice
let deserialized = unsafe {
    rkyv::from_bytes_unchecked::<Vec<i32>>(&bytes)
        .expect("failed to deserialize vec")
};

assert_eq!(deserialized, value);