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§
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>>
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.