Trait skipdb::serializable::CheapClone

source ·
pub trait CheapClone: Clone {
    // Provided method
    fn cheap_clone(&self) -> Self { ... }
}
Expand description

Things that are fast to clone in the context of an application such as Graph Node

The purpose of this API is to reduce the number of calls to .clone() which need to be audited for performance.

As a rule of thumb, only constant-time Clone impls should also implement CheapClone. Eg:

Provided Methods§

source

fn cheap_clone(&self) -> Self

Returns a copy of the value.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl CheapClone for &str

source§

fn cheap_clone(&self) -> &str

source§

impl CheapClone for IpAddr

source§

impl CheapClone for SocketAddr

source§

impl CheapClone for bool

source§

impl CheapClone for char

source§

impl CheapClone for f32

source§

impl CheapClone for f64

source§

impl CheapClone for i8

source§

fn cheap_clone(&self) -> i8

source§

impl CheapClone for i16

source§

impl CheapClone for i32

source§

impl CheapClone for i64

source§

impl CheapClone for i128

source§

impl CheapClone for isize

source§

impl CheapClone for u8

source§

fn cheap_clone(&self) -> u8

source§

impl CheapClone for u16

source§

impl CheapClone for u32

source§

impl CheapClone for u64

source§

impl CheapClone for u128

source§

impl CheapClone for ()

source§

impl CheapClone for usize

source§

impl CheapClone for Ipv4Addr

source§

impl CheapClone for Ipv6Addr

source§

impl CheapClone for SocketAddrV4

source§

impl CheapClone for SocketAddrV6

source§

impl CheapClone for NonZero<i8>

source§

impl CheapClone for NonZero<i16>

source§

impl CheapClone for NonZero<i32>

source§

impl CheapClone for NonZero<i64>

source§

impl CheapClone for NonZero<i128>

source§

impl CheapClone for NonZero<isize>

source§

impl CheapClone for NonZero<u8>

source§

impl CheapClone for NonZero<u16>

source§

impl CheapClone for NonZero<u32>

source§

impl CheapClone for NonZero<u64>

source§

impl CheapClone for NonZero<u128>

source§

impl CheapClone for NonZero<usize>

source§

impl<'a, T> CheapClone for &'a T

source§

impl<K, V> CheapClone for EntryData<K, V>
where K: CheapClone, V: CheapClone,

source§

fn cheap_clone(&self) -> EntryData<K, V>

source§

impl<K, V> CheapClone for Entry<K, V>
where K: CheapClone, V: CheapClone,

source§

fn cheap_clone(&self) -> Entry<K, V>

source§

impl<T0> CheapClone for (T0,)
where T0: CheapClone,

source§

impl<T0, T1> CheapClone for (T0, T1)
where T0: CheapClone, T1: CheapClone,

source§

impl<T0, T1, T2> CheapClone for (T0, T1, T2)
where T0: CheapClone, T1: CheapClone, T2: CheapClone,

source§

impl<T0, T1, T2, T3> CheapClone for (T0, T1, T2, T3)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone,

source§

impl<T0, T1, T2, T3, T4> CheapClone for (T0, T1, T2, T3, T4)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5> CheapClone for (T0, T1, T2, T3, T4, T5)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6> CheapClone for (T0, T1, T2, T3, T4, T5, T6)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone, T17: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone, T17: CheapClone, T18: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone, T17: CheapClone, T18: CheapClone, T19: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone, T17: CheapClone, T18: CheapClone, T19: CheapClone, T20: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone, T17: CheapClone, T18: CheapClone, T19: CheapClone, T20: CheapClone, T21: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone, T17: CheapClone, T18: CheapClone, T19: CheapClone, T20: CheapClone, T21: CheapClone, T22: CheapClone,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> CheapClone for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)
where T0: CheapClone, T1: CheapClone, T2: CheapClone, T3: CheapClone, T4: CheapClone, T5: CheapClone, T6: CheapClone, T7: CheapClone, T8: CheapClone, T9: CheapClone, T10: CheapClone, T11: CheapClone, T12: CheapClone, T13: CheapClone, T14: CheapClone, T15: CheapClone, T16: CheapClone, T17: CheapClone, T18: CheapClone, T19: CheapClone, T20: CheapClone, T21: CheapClone, T22: CheapClone, T23: CheapClone,

source§

impl<T> CheapClone for Option<T>
where T: CheapClone,

source§

impl<T> CheapClone for Box<T>
where T: CheapClone + ?Sized,

source§

impl<T> CheapClone for Rc<T>
where T: ?Sized,

source§

impl<T> CheapClone for Arc<T>
where T: ?Sized,

source§

impl<T> CheapClone for Pin<T>
where T: CheapClone + ?Sized,

source§

impl<T, E> CheapClone for Result<T, E>
where T: CheapClone, E: CheapClone,

source§

impl<T, const N: usize> CheapClone for [T; N]
where T: Copy,

source§

impl<V> CheapClone for EntryValue<V>
where V: CheapClone,

Implementors§