Trait frame_support::dispatch::marker::Send1.0.0[][src]

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[src]

impl Send for FormatSpec[src]

impl Send for Alignment[src]

impl Send for Count[src]

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

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

impl !Send for Args[src]

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

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

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

impl Send for Once[src]

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

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

impl !Send for ArgsOs[src]

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

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

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

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

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

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

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

impl<T> !Send for *const T where
    T: ?Sized
[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 &'_ mut T where
    T: Send + ?Sized
[src]

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

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

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

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

impl Send for Waker[src]

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

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

impl<T, A> Send for IntoIter<T, A> where
    T: Send,
    A: Send + Allocator
[src]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<R, G> Send for RawReentrantMutex<R, G> where
    R: RawMutex + Send,
    G: GetThreadId + Send

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

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

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

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

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

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

impl<T, C> Send for OwnedRef<T, C> where
    C: Config,
    T: Sync + Clear + Default
[src]

impl<T, C> Send for Slab<T, C> where
    C: Config,
    T: Send
[src]

impl<T, C> Send for OwnedEntry<T, C> where
    C: Config,
    T: Sync
[src]

impl<T, C> Send for OwnedRefMut<T, C> where
    C: Config,
    T: Sync + Clear + Default
[src]

impl<T, C> Send for Pool<T, C> where
    C: Config,
    T: Send + Clear + Default
[src]

impl<Tz> Send for Date<Tz> where
    Tz: TimeZone,
    <Tz as TimeZone>::Offset: Send
[src]

impl<Tz> Send for DateTime<Tz> where
    Tz: TimeZone,
    <Tz as TimeZone>::Offset: Send
[src]

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

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

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

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

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,
    V: Send,
    S: Send

impl Send for AtomicWaker

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

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

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

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

impl<Fut> Send for FuturesUnordered<Fut> where
    Fut: Send

impl<'_, T> Send for FutureObj<'_, T>

impl Send for isize[src]

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

impl Send for [u8][src]

impl Send for char[src]

impl Send for u128[src]

impl Send for u16[src]

impl Send for i128[src]

impl Send for i16[src]

impl Send for str[src]

impl Send for f64[src]

impl Send for u64[src]

impl Send for u8[src]

impl Send for i64[src]

impl Send for i8[src]

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

impl Send for bool[src]

impl Send for f32[src]

impl Send for u32[src]

impl Send for usize[src]

impl Send for i32[src]

Loading content...

Implementors

Loading content...

Auto implementors

impl Send for frame_support::dispatch::fmt::Alignment[src]

impl Send for Never[src]

impl Send for Void[src]

impl Send for RuntimeMetadata[src]

impl Send for StorageEntryModifier[src]

impl Send for StorageEntryType[src]

impl Send for StorageHasher[src]

impl Send for DispatchError[src]

impl Send for InvalidTransaction[src]

impl Send for TransactionSource[src]

impl Send for TransactionValidityError[src]

impl Send for UnknownTransaction[src]

impl Send for ChildInfo[src]

impl Send for ChildType[src]

impl Send for KillOutcome[src]

impl Send for BalanceStatus[src]

impl Send for ExistenceRequirement[src]

impl Send for DispatchClass[src]

impl Send for Pays[src]

impl Send for FrameTransactionPriority[src]

impl Send for RuntimeLogger[src]

impl Send for Writer[src]

impl Send for Error[src]

impl Send for PhantomPinned[src]

impl Send for ErrorMetadata[src]

impl Send for FunctionArgumentMetadata[src]

impl Send for FunctionMetadata[src]

impl Send for ModuleConstantMetadata[src]

impl Send for EventMetadata[src]

impl Send for OuterEventMetadata[src]

impl Send for Instance0[src]

impl Send for Instance1[src]

impl Send for Instance2[src]

impl Send for Instance3[src]

impl Send for Instance4[src]

impl Send for Instance5[src]

impl Send for Instance6[src]

impl Send for Instance7[src]

impl Send for Instance8[src]

impl Send for Instance9[src]

impl Send for Instance10[src]

impl Send for Instance11[src]

impl Send for Instance12[src]

impl Send for Instance13[src]

impl Send for Instance14[src]

impl Send for Instance15[src]

impl Send for DefaultByteGetter[src]

impl Send for ExtrinsicMetadata[src]

impl Send for ModuleMetadata[src]

impl Send for RuntimeMetadataPrefixed[src]

impl Send for StorageEntryMetadata[src]

impl Send for StorageMetadata[src]

impl Send for Blake2_128[src]

impl Send for Blake2_128Concat[src]

impl Send for Blake2_256[src]

impl Send for Identity[src]

impl Send for InherentData[src]

impl Send for Twox64Concat[src]

impl Send for Twox128[src]

impl Send for Twox256[src]

impl Send for ValidTransaction[src]

impl Send for OptionQuery[src]

impl Send for ValueQuery[src]

impl Send for CallMetadata[src]

impl Send for GetDefault[src]

impl Send for PalletVersion[src]

impl Send for SaturatingCurrencyToVote[src]

impl Send for TestRandomness[src]

impl Send for U128CurrencyToVote[src]

impl Send for WithdrawReasons[src]

impl Send for BlockExecutionWeight[src]

impl Send for ExtrinsicBaseWeight[src]

impl Send for ParityDbWeight[src]

impl Send for RocksDbWeight[src]

impl Send for DispatchInfo[src]

impl Send for PostDispatchInfo[src]

impl Send for RuntimeDbWeight[src]

impl<'a> !Send for Arguments<'a>[src]

impl<'a> !Send for Formatter<'a>[src]

impl<'a, 'b> !Send for DebugList<'a, 'b>[src]

impl<'a, 'b> !Send for DebugMap<'a, 'b>[src]

impl<'a, 'b> !Send for DebugSet<'a, 'b>[src]

impl<'a, 'b> !Send for DebugStruct<'a, 'b>[src]

impl<'a, 'b> !Send for DebugTuple<'a, 'b>[src]

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

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

impl<B, O> Send for DecodeDifferent<B, O> where
    B: Send,
    O: Send
[src]

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

impl<Balance> Send for WeightToFeeCoefficient<Balance> where
    Balance: Send
[src]

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
[src]

impl<BlockNumber> Send for DispatchTime<BlockNumber> where
    BlockNumber: Send
[src]

impl<E> Send for FnEncode<E>[src]

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

impl<F, T> Send for FilterStackGuard<F, T> where
    F: Send,
    T: Send
[src]

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

impl<Prefix, Hasher1, Key1, Hasher2, Key2, Value, QueryKind, OnEmpty> Send for StorageDoubleMap<Prefix, Hasher1, Key1, Hasher2, Key2, Value, QueryKind, OnEmpty> where
    Hasher1: Send,
    Hasher2: Send,
    Key1: Send,
    Key2: Send,
    OnEmpty: Send,
    Prefix: Send,
    QueryKind: Send,
    Value: Send
[src]

impl<Prefix, Hasher, Key, Value, QueryKind, OnEmpty> Send for StorageMap<Prefix, Hasher, Key, Value, QueryKind, OnEmpty> where
    Hasher: Send,
    Key: Send,
    OnEmpty: Send,
    Prefix: Send,
    QueryKind: Send,
    Value: Send
[src]

impl<Prefix, Value, QueryKind, OnEmpty> Send for StorageValue<Prefix, Value, QueryKind, OnEmpty> where
    OnEmpty: Send,
    Prefix: Send,
    QueryKind: Send,
    Value: Send
[src]

impl<R> Send for TransactionOutcome<R> where
    R: Send
[src]

impl<S, L, K, T> Send for StorageMapShim<S, L, K, T> where
    K: Send,
    L: Send,
    S: Send,
    T: Send
[src]

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

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

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

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

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

impl<T, A> Send for Vec<T, A> where
    A: Send,
    T: Send
[src]

impl<T, E> Send for Result<T, E> where
    E: Send,
    T: Send
[src]

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

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

Loading content...