[][src]Struct total_order_multi_map::SyncSendHelper

pub struct SyncSendHelper<K, V> { /* fields omitted */ }

Delegate the job of deciding about Send, Sync to rustc (ignore this)

only the *const V::Target is not default Send/Sync in TotalOrderMultiMap as it's a pointer, but we can ignore it as whenever we accessed a value through it we can argue that we could have accessed the value "just" through safe code. It would just have been slower. And using the fast path doesn't circumvent any safety mechanisms like e.g. lock guards. As such if this struct is Send/Sync than TotalOrderMultiMap can be Send/Sync, too.

Auto Trait Implementations

impl<K, V> Send for SyncSendHelper<K, V> where
    K: Send,
    V: Send

impl<K, V> Sync for SyncSendHelper<K, V> where
    K: Sync,
    V: Sync

impl<K, V> Unpin for SyncSendHelper<K, V> where
    K: Unpin,
    V: Unpin

impl<K, V> UnwindSafe for SyncSendHelper<K, V> where
    K: UnwindSafe,
    V: UnwindSafe

impl<K, V> RefUnwindSafe for SyncSendHelper<K, V> where
    K: RefUnwindSafe,
    V: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]