Trait corundum::PSend[][src]

pub unsafe auto trait PSend { }

Safe to be sent to another thread

This marker is used to allow Parc to be sent to another thread only if it is wrapped in a VWeak. The Parc is not Send to prevent escaping a newly allocated instance of it from a transaction.

Implementations on Foreign Types

impl PSend for isize

impl<T> PSend for [T] where
    T: PSend

impl PSend for [u8]

impl PSend for char

impl PSend for u128

impl PSend for u16

impl PSend for i128

impl PSend for i16

impl PSend for str

impl PSend for f64

impl PSend for u64

impl PSend for u8

impl PSend for i64

impl PSend for i8

impl<T: ?Sized> PSend for *const T where
    T: PSend

impl<T: ?Sized> PSend for *mut T where
    T: PSend

impl<T> PSend for *const [T] where
    T: PSend

impl<T> PSend for *mut [T] where
    T: PSend

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

impl PSend for bool

impl PSend for f32

impl PSend for u32

impl PSend for usize

impl PSend for i32

Loading content...

Implementors

impl<T, A: MemPool> PSend for PMutex<T, A>[src]

impl<T: ?Sized, A: MemPool> !PSend for PCell<T, A>[src]

impl<T: ?Sized, A: MemPool> !PSend for PRefCell<T, A>[src]

impl<T: ?Sized, A: MemPool> !PSend for Prc<T, A>[src]

impl<T: ?Sized, A: MemPool> !PSend for PrcBox<T, A>[src]

impl<T: ?Sized, A: MemPool> !PSend for corundum::prc::VWeak<T, A>[src]

impl<T: ?Sized, A: MemPool> !PSend for corundum::prc::Weak<T, A>[src]

Loading content...

Auto implementors

impl PSend for LogEnum

impl PSend for Heap

impl PSend for BuddyAlloc

impl PSend for Chaperon

impl PSend for SpinLock

impl<'a, T> PSend for IterHelper<'a, T> where
    T: PSend

impl<'a, T, A> PSend for RootCell<'a, T, A> where
    A: PSend,
    T: PSend

impl<'a, T, A> PSend for MutexGuard<'a, T, A> where
    A: PSend

impl<'b, T, A> !PSend for Ref<'b, T, A>

impl<'b, T, A> !PSend for RefMut<'b, T, A>

impl<A> PSend for Measure<A> where
    A: PSend

impl<A> PSend for Notifier<A> where
    A: PSend

impl<A> PSend for BuddyAlg<A> where
    A: PSend

impl<A> PSend for corundum::stm::pspd::Scratchpad<A> where
    A: PSend

impl<A> PSend for Journal<A> where
    A: PSend

impl<A> PSend for Log<A> where
    A: PSend

impl<A> PSend for corundum::stm::vspd::Scratchpad<A> where
    A: PSend

impl<A> PSend for String<A> where
    A: PSend

impl<T> PSend for AssertTxInSafe<T> where
    T: PSend

impl<T> PSend for IntoIteratorHelper<T> where
    T: PSend

impl<T, A> PSend for Zones<T, A> where
    A: PSend,
    T: PSend

impl<T, A> PSend for TCell<T, A> where
    A: PSend,
    T: PSend

impl<T, A> PSend for VCell<T, A> where
    A: PSend,
    T: PSend

impl<T, A> PSend for Slice<T, A> where
    A: PSend,
    T: PSend

impl<T, A> PSend for Vec<T, A> where
    A: PSend,
    T: PSend

impl<T, F> PSend for LazyCell<T, F> where
    F: PSend,
    T: PSend

impl<T, const N: usize> PSend for Ring<T, N> where
    T: PSend

impl<T: ?Sized> PSend for NonNull<T> where
    T: PSend

impl<T: ?Sized, A> PSend for Pbox<T, A> where
    A: PSend,
    T: PSend

impl<T: ?Sized, A> PSend for LogNonNull<T, A> where
    A: PSend,
    T: PSend

impl<T: ?Sized, A> PSend for Ptr<T, A> where
    A: PSend,
    T: PSend

impl<T: ?Sized, A> PSend for Parc<T, A> where
    A: PSend,
    T: PSend

impl<T: ?Sized, A> PSend for ParcInner<T, A> where
    A: PSend,
    T: PSend

impl<T: ?Sized, A> PSend for corundum::sync::VWeak<T, A> where
    A: PSend,
    T: PSend

impl<T: ?Sized, A> PSend for corundum::sync::Weak<T, A> where
    A: PSend,
    T: PSend

Loading content...