devela::_dep::rkyv::de::pooling

Trait PoolingExt

pub trait PoolingExt<E>: Pooling<E> {
    // Provided method
    fn deserialize_shared<T, P>(
        &mut self,
        value: &<T as ArchiveUnsized>::Archived,
    ) -> Result<*mut T, Self::Error> 
       where T: ArchiveUnsized + Pointee + LayoutRaw + ?Sized,
             <T as Pointee>::Metadata: Into<Metadata>,
             Metadata: Into<<T as Pointee>::Metadata>,
             <T as ArchiveUnsized>::Archived: DeserializeUnsized<T, Self>,
             P: SharedPointer<T>,
             Self: Fallible<Error = E>,
             E: Source { ... }
}
Available on crate feature dep_rkyv only.
Expand description

Helper methods for Pooling.

Provided Methods§

fn deserialize_shared<T, P>( &mut self, value: &<T as ArchiveUnsized>::Archived, ) -> Result<*mut T, Self::Error>
where T: ArchiveUnsized + Pointee + LayoutRaw + ?Sized, <T as Pointee>::Metadata: Into<Metadata>, Metadata: Into<<T as Pointee>::Metadata>, <T as ArchiveUnsized>::Archived: DeserializeUnsized<T, Self>, P: SharedPointer<T>, Self: Fallible<Error = E>, E: Source,

Checks whether the given reference has been deserialized and either uses the existing shared pointer to it, or deserializes it and converts it to a shared pointer with to_shared.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl<T, E> PoolingExt<E> for T
where T: Pooling<E> + ?Sized,