1.0.0[][src]Trait frame_support::dispatch::marker::Send

pub unsafe auto trait Send { }

Types that can be transferred across thread boundaries.

This trait is automatically implemented when the compiler determines it's appropriate.

An example of a non-Send type is the reference-counting pointer rc::Rc. If two threads attempt to clone Rcs that point to the same reference-counted value, they might try to update the reference count at the same time, which is undefined behavior because Rc doesn't use atomic operations. Its cousin sync::Arc does use atomic operations (incurring some overhead) and thus is Send.

See the Nomicon for more details.

Implementations on Foreign Types

impl Send for Argument

impl Send for FormatSpec

impl Send for Alignment

impl Send for Count

impl<'a> Send for IoSlice<'a>[src]

impl !Send for Args[src]

impl<'a> Send for IoSliceMut<'a>[src]

impl<'_, T> !Send for MutexGuard<'_, T> where
    T: ?Sized
[src]

impl Send for Once[src]

impl<T> Send for JoinHandle<T>[src]

impl<T> Send for SyncSender<T> where
    T: Send
[src]

impl<T> Send for RwLock<T> where
    T: Send + ?Sized
[src]

impl<T> Send for Receiver<T> where
    T: Send
[src]

impl<T> Send for SyncOnceCell<T> where
    T: Send
[src]

impl<T> Send for Sender<T> where
    T: Send
[src]

impl !Send for ArgsOs[src]

impl<T> Send for Mutex<T> where
    T: Send + ?Sized
[src]

impl<'_, T> !Send for RwLockWriteGuard<'_, T> where
    T: ?Sized
[src]

impl<'_, T> !Send for RwLockReadGuard<'_, T> where
    T: ?Sized
[src]

impl<T> !Send for *const T where
    T: ?Sized
[src]

impl<T> Send for RefCell<T> where
    T: Send + ?Sized
[src]

impl<'_, T> Send for &'_ T where
    T: Sync + ?Sized
[src]

impl<T> Send for AtomicPtr<T>[src]

impl<T> !Send for *mut T where
    T: ?Sized
[src]

impl Send for Waker[src]

impl<T> !Send for NonNull<T> where
    T: ?Sized
[src]

NonNull pointers are not Send because the data they reference may be aliased.

impl<'_, T> Send for IterMut<'_, T> where
    T: Send
[src]

impl<'_, T> Send for &'_ mut T where
    T: Send + ?Sized
[src]

impl<T> Send for Empty<T>[src]

impl<'_, T> Send for Iter<'_, T> where
    T: Sync
[src]

impl<T> Send for Cell<T> where
    T: Send + ?Sized
[src]

impl<'_> Send for Drain<'_>[src]

impl<'_, T> Send for CursorMut<'_, T> where
    T: Send
[src]

impl<'_, T> Send for Cursor<'_, T> where
    T: Sync
[src]

impl<'_, T> Send for Iter<'_, T> where
    T: Sync
[src]

impl<'_, T> Send for Drain<'_, T> where
    T: Send
[src]

impl<'_, T> Send for Drain<'_, T> where
    T: Send
[src]

impl<T> !Send for Weak<T> where
    T: ?Sized
[src]

impl<T> Send for IntoIter<T> where
    T: Send
[src]

impl<T> Send for LinkedList<T> where
    T: Send
[src]

impl<'_, T> Send for IterMut<'_, T> where
    T: Send
[src]

impl<T> Send for Arc<T> where
    T: Send + Sync + ?Sized
[src]

impl<T> Send for Weak<T> where
    T: Send + Sync + ?Sized
[src]

impl<T> !Send for Rc<T> where
    T: ?Sized
[src]

impl<'_, K, V> Send for RustcOccupiedEntry<'_, K, V> where
    K: Send,
    V: Send

impl<'_, K, V, S> Send for OccupiedEntry<'_, K, V, S> where
    K: Send,
    S: Send,
    V: Send

impl<'_, K, V> Send for IterMut<'_, K, V> where
    K: Send,
    V: Send

impl<'_, K, V> Send for RawOccupiedEntryMut<'_, K, V> where
    K: Send,
    V: Send

impl<'a, A> Send for Drain<'a, A> where
    A: Array + Send
[src]

impl<'a, A> Send for Drain<'a, A> where
    A: Array + Send
[src]

impl<T, N> Send for GenericArray<T, N> where
    N: ArrayLength<T>,
    T: Send

impl<R, T> Send for RwLock<R, T> where
    R: RawRwLock + Send,
    T: Send + ?Sized

impl<'a, R, T> Send for MappedRwLockWriteGuard<'a, R, T> where
    R: 'a + RawRwLock,
    T: 'a + ?Sized,
    <R as RawRwLock>::GuardMarker: Send

impl<R, G, T> Send for ReentrantMutex<R, G, T> where
    G: GetThreadId + Send,
    R: RawMutex + Send,
    T: Send + ?Sized

impl<R, T> Send for Mutex<R, T> where
    R: RawMutex + Send,
    T: Send + ?Sized

impl<'a, R, T> Send for MappedMutexGuard<'a, R, T> where
    R: 'a + RawMutex,
    T: 'a + ?Sized,
    <R as RawMutex>::GuardMarker: Send

impl<'a, R, T> Send for MappedRwLockReadGuard<'a, R, T> where
    R: 'a + RawRwLock,
    T: 'a + ?Sized,
    <R as RawRwLock>::GuardMarker: Send

impl<A> Send for SmallVec<A> where
    A: Array,
    <A as Array>::Item: Send
[src]

impl<'a, T> Send for Drain<'a, T> where
    T: Array + Send
[src]

impl Send for AtomicWaker[src]

impl<'_, T> Send for MutexGuard<'_, T> where
    T: Send + ?Sized
[src]

impl<'_, T> Send for MutexLockFuture<'_, T> where
    T: Send + ?Sized
[src]

impl<Fut> Send for FuturesUnordered<Fut> where
    Fut: Send
[src]

impl<'_, T, U> Send for MappedMutexGuard<'_, T, U> where
    T: Send + ?Sized,
    U: ?Sized
[src]

impl<T> Send for Mutex<T> where
    T: Send + ?Sized
[src]

impl<'_, T> Send for FutureObj<'_, T>[src]

impl<'_, K, V> Send for RawOccupiedEntryMut<'_, K, V> where
    K: Send,
    V: Send

impl<'_, K, V> Send for IterMut<'_, K, V> where
    K: Send,
    V: Send

impl<'_, K, V, S> Send for OccupiedEntry<'_, K, V, S> where
    K: Send,
    S: Send,
    V: Send

impl Send for isize

impl Send for i8

impl Send for i16

impl Send for i32

impl Send for i64

impl Send for i128

impl Send for usize

impl Send for u8

impl Send for u16

impl Send for u32

impl Send for u64

impl Send for u128

impl Send for f32

impl Send for f64

impl Send for bool

impl Send for char

impl Send for str

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

impl Send for [u8]

Loading content...

Implementors

Loading content...

Auto implementors

impl Send for DispatchError

impl Send for frame_support::dispatch::fmt::Alignment

impl Send for Never

impl Send for Void

impl Send for RuntimeMetadata

impl Send for StorageEntryModifier

impl Send for StorageEntryType

impl Send for StorageHasher

impl Send for ChildInfo

impl Send for ChildType

impl Send for BalanceStatus

impl Send for ExistenceRequirement

impl Send for WithdrawReason

impl Send for DispatchClass

impl Send for Pays

impl Send for RuntimeLogger

impl Send for Writer

impl Send for Error

impl Send for PhantomPinned

impl Send for ErrorMetadata

impl Send for FunctionArgumentMetadata

impl Send for FunctionMetadata

impl Send for ModuleConstantMetadata

impl Send for EventMetadata

impl Send for OuterEventMetadata

impl Send for DefaultByteGetter

impl Send for ExtrinsicMetadata

impl Send for ModuleMetadata

impl Send for RuntimeMetadataPrefixed

impl Send for StorageEntryMetadata

impl Send for StorageMetadata

impl Send for Blake2_128

impl Send for Blake2_128Concat

impl Send for Blake2_256

impl Send for Identity

impl Send for Twox128

impl Send for Twox256

impl Send for Twox64Concat

impl Send for CallMetadata

impl Send for WithdrawReasons

impl Send for BlockExecutionWeight

impl Send for ExtrinsicBaseWeight

impl Send for ParityDbWeight

impl Send for RocksDbWeight

impl Send for DispatchInfo

impl Send for PostDispatchInfo

impl Send for RuntimeDbWeight

impl<'a> !Send for Arguments<'a>

impl<'a> !Send for Formatter<'a>

impl<'a, 'b> !Send for DebugList<'a, 'b>

impl<'a, 'b> !Send for DebugMap<'a, 'b>

impl<'a, 'b> !Send for DebugSet<'a, 'b>

impl<'a, 'b> !Send for DebugStruct<'a, 'b>

impl<'a, 'b> !Send for DebugTuple<'a, 'b>

impl<'a, T> Send for frame_support::dispatch::result::Iter<'a, T> where
    T: Sync

impl<'a, T> Send for frame_support::dispatch::result::IterMut<'a, T> where
    T: Send

impl<B, O> Send for DecodeDifferent<B, O> where
    B: Send,
    O: Send

impl<B, P> Send for SignedImbalance<B, P> where
    P: Send,
    <P as Imbalance<B>>::Opposite: Send

impl<Balance> Send for WeightToFeeCoefficient<Balance> where
    Balance: Send

impl<Balance, Imbalance, Part1, Target1, Part2, Target2> Send for SplitTwoWays<Balance, Imbalance, Part1, Target1, Part2, Target2> where
    Balance: Send,
    Imbalance: Send,
    Part1: Send,
    Part2: Send,
    Target1: Send,
    Target2: Send

impl<BlockNumber> Send for DispatchTime<BlockNumber> where
    BlockNumber: Send

impl<E> Send for FnEncode<E>

impl<F, T> Send for ClearFilterGuard<F, T> where
    T: Send,
    <F as FilterStack<T>>::Stack: Send

impl<F, T> Send for FilterStackGuard<F, T> where
    F: Send,
    T: Send

impl<K, T, H> Send for StorageKeyIterator<K, T, H> where
    H: Send,
    K: Send,
    T: Send

impl<R> Send for TransactionOutcome<R> where
    R: Send

impl<S, Created, Removed, K, T> Send for StorageMapShim<S, Created, Removed, K, T> where
    Created: Send,
    K: Send,
    Removed: Send,
    S: Send,
    T: Send

impl<T> Send for frame_support::dispatch::result::IntoIter<T> where
    T: Send

impl<T> Send for Vec<T> where
    T: Send

impl<T> Send for StorageIterator<T> where
    T: Send

impl<T> Send for IdentityFee<T> where
    T: Send

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

impl<T: ?Sized> Send for PhantomData<T> where
    T: Send

impl<Value> Send for PrefixIterator<Value> where
    Value: Send

impl<WD, CD, PF> Send for FunctionOf<WD, CD, PF> where
    CD: Send,
    PF: Send,
    WD: Send

Loading content...