Trait frame_support::dispatch::marker::Send 1.0.0[−][src]
pub unsafe auto trait Send { }Expand description
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 Argumentimpl Send for FormatSpecimpl Send for Alignmentimpl Send for CountNonNull pointers are not Send because the data they reference may be aliased.
impl<'a, R, T> Send for MappedRwLockWriteGuard<'a, R, T> where
T: 'a + Send + ?Sized,
R: 'a + RawRwLock,
<R as RawRwLock>::GuardMarker: 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, G, T> Send for ReentrantMutex<R, G, T> where
T: Send + ?Sized,
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<'_, K, V, S, A> Send for RawOccupiedEntryMut<'_, K, V, S, A> where
A: Send + Allocator + Clone,
K: Send,
V: Send, impl<'_, K, V, S, A> Send for OccupiedEntry<'_, K, V, S, A> where
A: Send + Allocator + Clone,
K: Send,
V: Send,
S: Send, impl Send for AtomicWakerimpl<'_, T> Send for FutureObj<'_, T>Implementors
Auto implementors
impl Send for DispatchErrorimpl Send for InvalidTransactionimpl Send for TransactionSourceimpl Send for TransactionValidityErrorimpl Send for UnknownTransactionimpl Send for KillStorageResultimpl Send for Everythingimpl Send for BalanceStatusimpl Send for DepositConsequenceimpl Send for ExistenceRequirementimpl Send for DispatchClassimpl Send for FrameTransactionPriorityimpl Send for EventMetadataimpl Send for OuterEventMetadataimpl Send for CheckInherentsResultimpl Send for Instance10impl Send for Instance11impl Send for Instance12impl Send for Instance13impl Send for Instance14impl Send for Instance15impl Send for Instance16impl Send for Blake2_128impl Send for Blake2_128Concatimpl Send for Blake2_256impl Send for InherentDataimpl Send for Twox64Concatimpl Send for ValidTransactionimpl Send for OptionQueryimpl Send for ValueQueryimpl Send for GetDefaultimpl Send for SaturatingCurrencyToVoteimpl Send for StorageInfoimpl Send for StorageVersionimpl Send for U128CurrencyToVoteimpl Send for WithdrawReasonsimpl Send for BlockExecutionWeightimpl Send for ExtrinsicBaseWeightimpl Send for ParityDbWeightimpl Send for RocksDbWeightimpl Send for DispatchInfoimpl Send for PostDispatchInfoimpl Send for RuntimeDbWeightimpl Send for CallMetadataimpl Send for DefaultByteGetterimpl Send for ErrorMetadataimpl Send for FunctionArgumentMetadataimpl Send for FunctionMetadataimpl Send for ModuleConstantMetadataimpl Send for PhantomPinnedimpl<'a, 'b> !Send for DebugStruct<'a, 'b>impl<'a, 'b> !Send for DebugTuple<'a, 'b>impl<'a, T, S> Send for BoundedSlice<'a, T, S> where
S: Send,
T: Sync, impl<A, B> Send for SameOrOther<A, B> where
A: Send,
B: Send, impl<A, B, OnDrop, OppositeOnDrop> Send for frame_support::traits::tokens::fungibles::Imbalance<A, B, OnDrop, OppositeOnDrop> where
A: Send,
B: Send,
OnDrop: Send,
OppositeOnDrop: Send, impl<B, O> Send for DecodeDifferent<B, O> where
B: Send,
O: Send, impl<B, OnDrop, OppositeOnDrop> Send for frame_support::traits::tokens::fungible::Imbalance<B, OnDrop, OppositeOnDrop> where
B: Send,
OnDrop: Send,
OppositeOnDrop: Send, impl<B, PositiveImbalance> Send for SignedImbalance<B, PositiveImbalance> where
PositiveImbalance: Send,
<PositiveImbalance as Imbalance<B>>::Opposite: Send, impl<Balance> Send for WithdrawConsequence<Balance> where
Balance: 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 MakeFatalError<E> where
E: Send, impl<F, A, AccountId> Send for frame_support::traits::tokens::fungible::ItemOf<F, A, AccountId> where
A: Send,
AccountId: Send,
F: Send, impl<F, A, AccountId> Send for frame_support::traits::tokens::nonfungible::ItemOf<F, A, AccountId> where
A: Send,
AccountId: Send,
F: Send, 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<K, V, S> Send for BoundedBTreeMap<K, V, S> where
K: Send,
S: Send,
V: Send, impl<OM> Send for AsContains<OM> where
OM: Send, impl<Prefix, Hasher1, Key1, Hasher2, Key2, Value, QueryKind, OnEmpty, MaxValues> Send for StorageDoubleMap<Prefix, Hasher1, Key1, Hasher2, Key2, Value, QueryKind, OnEmpty, MaxValues> where
Hasher1: Send,
Hasher2: Send,
Key1: Send,
Key2: Send,
MaxValues: Send,
OnEmpty: Send,
Prefix: Send,
QueryKind: Send,
Value: Send, impl<Prefix, Hasher, Key, Value, QueryKind, OnEmpty, MaxValues> Send for StorageMap<Prefix, Hasher, Key, Value, QueryKind, OnEmpty, MaxValues> where
Hasher: Send,
Key: Send,
MaxValues: Send,
OnEmpty: Send,
Prefix: Send,
QueryKind: Send,
Value: Send, impl<Prefix, Key, Value, QueryKind, OnEmpty, MaxValues> Send for StorageNMap<Prefix, Key, Value, QueryKind, OnEmpty, MaxValues> where
Key: Send,
MaxValues: Send,
OnEmpty: Send,
Prefix: Send,
QueryKind: Send,
Value: Send, impl<Prefix, Value, QueryKind, OnEmpty> Send for StorageValue<Prefix, Value, QueryKind, OnEmpty> where
OnEmpty: Send,
Prefix: Send,
QueryKind: Send,
Value: Send, impl<R> Send for TransactionOutcome<R> where
R: Send, impl<T> Send for StorageIterator<T> where
T: Send, impl<T> Send for ChildTriePrefixIterator<T>impl<T> Send for KeyPrefixIterator<T>impl<T> Send for PrefixIterator<T>impl<T> Send for IdentityFee<T> where
T: Send, impl<T> Send for PerDispatchClass<T> where
T: Send, impl<T, S> Send for BoundedBTreeSet<T, S> where
S: Send,
T: Send, impl<T, S> Send for BoundedVec<T, S> where
S: Send,
T: Send, impl<T, S> Send for WeakBoundedVec<T, S> where
S: Send,
T: Send, impl<T: ?Sized> Send for PhantomData<T> where
T: Send, impl<WD, CD, PF> Send for FunctionOf<WD, CD, PF> where
CD: Send,
PF: Send,
WD: Send,