Cloner

Trait Cloner 

Source
pub trait Cloner: Updater + Resolve {
    // Required methods
    fn clone_plainref(&mut self, old: PlainRef) -> Result<PlainRef>;
    fn clone_ref<T: DeepClone + Object + DataSize + ObjectWrite>(
        &mut self,
        old: Ref<T>,
    ) -> Result<Ref<T>>;
    fn clone_rcref<T: DeepClone + ObjectWrite + DataSize>(
        &mut self,
        old: &RcRef<T>,
    ) -> Result<RcRef<T>>;
    fn clone_shared<T: DeepClone>(
        &mut self,
        old: &Shared<T>,
    ) -> Result<Shared<T>>;
}

Required Methods§

Source

fn clone_plainref(&mut self, old: PlainRef) -> Result<PlainRef>

Source

fn clone_ref<T: DeepClone + Object + DataSize + ObjectWrite>( &mut self, old: Ref<T>, ) -> Result<Ref<T>>

Source

fn clone_rcref<T: DeepClone + ObjectWrite + DataSize>( &mut self, old: &RcRef<T>, ) -> Result<RcRef<T>>

Source

fn clone_shared<T: DeepClone>(&mut self, old: &Shared<T>) -> Result<Shared<T>>

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<'a, R: Resolve, U: Updater> Cloner for Importer<'a, R, U>