[go: up one dir, main page]

rkyv::de

Trait PoolingExt

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

Helper methods for Pooling.

Provided Methods§

Source

fn deserialize_shared<T, P>( &mut self, value: &T::Archived, ) -> Result<*mut T, Self::Error>
where T: ArchiveUnsized + Pointee + LayoutRaw + ?Sized, T::Metadata: Into<Metadata>, Metadata: Into<T::Metadata>, T::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§

Source§

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