Trait rkyv::DeserializeUnsized
source · pub trait DeserializeUnsized<T: Pointee + ?Sized, D: Fallible + ?Sized>: ArchivePointee {
// Required methods
unsafe fn deserialize_unsized(
&self,
deserializer: &mut D,
out: *mut T,
) -> Result<(), D::Error>;
fn deserialize_metadata(&self) -> T::Metadata;
}
Expand description
A counterpart of Deserialize
that’s suitable for unsized types.
Required Methods§
sourceunsafe fn deserialize_unsized(
&self,
deserializer: &mut D,
out: *mut T,
) -> Result<(), D::Error>
unsafe fn deserialize_unsized( &self, deserializer: &mut D, out: *mut T, ) -> Result<(), D::Error>
Deserializes a reference to the given value.
§Safety
out
must be non-null, properly-aligned, and valid for writes. It must
be allocated according to the layout of the deserialized metadata.
sourcefn deserialize_metadata(&self) -> T::Metadata
fn deserialize_metadata(&self) -> T::Metadata
Deserializes the metadata for the given type.
Object Safety§
This trait is not object safe.