pub trait DeserializeDyn<T: Pointee + ?Sized> {
    // Required methods
    unsafe fn deserialize_dyn(
        &self,
        deserializer: &mut dyn DynDeserializer,
        alloc: &mut dyn FnMut(Layout) -> *mut u8
    ) -> Result<*mut (), DynError>;
    fn deserialize_dyn_metadata(
        &self,
        deserializer: &mut dyn DynDeserializer
    ) -> Result<T::Metadata, DynError>;
}
Expand description

A trait object that can be deserialized.

See SerializeDyn for more information.

Required Methods§

source

unsafe fn deserialize_dyn( &self, deserializer: &mut dyn DynDeserializer, alloc: &mut dyn FnMut(Layout) -> *mut u8 ) -> Result<*mut (), DynError>

Deserializes the given value as a trait object.

Safety

The memory returned must be properly deallocated.

source

fn deserialize_dyn_metadata( &self, deserializer: &mut dyn DynDeserializer ) -> Result<T::Metadata, DynError>

Returns the metadata for the deserialized version of this value.

Implementors§