Trait frame_support::dispatch::marker::Send 1.0.0[−][src]
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 Rc
s 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]
T: ?Sized,
impl<T> Send for SyncSender<T> where
T: Send,
[src]
T: Send,
impl !Send for Args
[src]
impl<T> Send for Sender<T> where
T: Send,
[src]
T: Send,
impl<'a> Send for IoSlice<'a>
[src]
impl<T> Send for Mutex<T> where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl Send for Once
[src]
impl<T> Send for JoinHandle<T>
[src]
impl<'_, T> !Send for RwLockReadGuard<'_, T> where
T: ?Sized,
[src]
T: ?Sized,
impl !Send for ArgsOs
[src]
impl<T> Send for Receiver<T> where
T: Send,
[src]
T: Send,
impl<T> Send for RwLock<T> where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl<'a> Send for IoSliceMut<'a>
[src]
impl<T> Send for SyncOnceCell<T> where
T: Send,
[src]
T: Send,
impl<'_, T> !Send for RwLockWriteGuard<'_, T> where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Send for AtomicPtr<T>
[src]
impl<T> Send for RefCell<T> where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl<T> !Send for *const T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> !Send for NonNull<T> where
T: ?Sized,
[src]
T: ?Sized,
NonNull
pointers are not Send
because the data they reference may be aliased.
impl<'_, T> Send for &'_ mut T where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl<'_, T> Send for IterMut<'_, T> where
T: Send,
[src]
T: Send,
impl<'_, T> Send for &'_ T where
T: Sync + ?Sized,
[src]
T: Sync + ?Sized,
impl<'_, T> Send for Iter<'_, T> where
T: Sync,
[src]
T: Sync,
impl<T> !Send for *mut T where
T: ?Sized,
[src]
T: ?Sized,
impl Send for Waker
[src]
impl<T> Send for Empty<T>
[src]
impl<T> Send for Cell<T> where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl<T, A> Send for IntoIter<T, A> where
T: Send,
A: Send + Allocator,
[src]
T: Send,
A: Send + Allocator,
impl<'_> Send for Drain<'_>
[src]
impl<'_, T> Send for IterMut<'_, T> where
T: Send,
[src]
T: Send,
impl<'_, T, A> Send for Drain<'_, T, A> where
T: Send,
A: Send + Allocator,
[src]
T: Send,
A: Send + Allocator,
impl<T> Send for LinkedList<T> where
T: Send,
[src]
T: Send,
impl<'_, T> Send for CursorMut<'_, T> where
T: Send,
[src]
T: Send,
impl<T> Send for Weak<T> where
T: Send + Sync + ?Sized,
[src]
T: Send + Sync + ?Sized,
impl<'_, T> Send for Cursor<'_, T> where
T: Sync,
[src]
T: Sync,
impl<T> !Send for Weak<T> where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Send for Arc<T> where
T: Send + Sync + ?Sized,
[src]
T: Send + Sync + ?Sized,
impl<'_, T> Send for Iter<'_, T> where
T: Sync,
[src]
T: Sync,
impl<'_, T> Send for IterMut<'_, T> where
T: Send,
[src]
T: Send,
impl<'_, T> Send for Drain<'_, T> where
T: Send,
[src]
T: Send,
impl<T> !Send for Rc<T> where
T: ?Sized,
[src]
T: ?Sized,
impl<'a, A> Send for Drain<'a, A> where
A: Array + Send,
[src]
A: Array + Send,
impl<R, G, T> Send for ReentrantMutex<R, G, T> where
T: Send + ?Sized,
R: RawMutex + Send,
G: GetThreadId + Send,
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,
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,
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,
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,
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,
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,
T: Send + ?Sized,
R: RawMutex + Send,
impl<'a, T> Send for Drain<'a, T> where
T: Array + Send,
[src]
T: Array + Send,
impl<A> Send for SmallVec<A> where
A: Array,
<A as Array>::Item: Send,
[src]
A: Array,
<A as Array>::Item: Send,
impl<T, C> Send for OwnedRef<T, C> where
C: Config,
T: Sync + Clear + Default,
[src]
C: Config,
T: Sync + Clear + Default,
impl<T, C> Send for Slab<T, C> where
C: Config,
T: Send,
[src]
C: Config,
T: Send,
impl<T, C> Send for OwnedEntry<T, C> where
C: Config,
T: Sync,
[src]
C: Config,
T: Sync,
impl<T, C> Send for OwnedRefMut<T, C> where
C: Config,
T: Sync + Clear + Default,
[src]
C: Config,
T: Sync + Clear + Default,
impl<T, C> Send for Pool<T, C> where
C: Config,
T: Send + Clear + Default,
[src]
C: Config,
T: Send + Clear + Default,
impl<Tz> Send for Date<Tz> where
Tz: TimeZone,
<Tz as TimeZone>::Offset: Send,
[src]
Tz: TimeZone,
<Tz as TimeZone>::Offset: Send,
impl<Tz> Send for DateTime<Tz> where
Tz: TimeZone,
<Tz as TimeZone>::Offset: Send,
[src]
Tz: TimeZone,
<Tz as TimeZone>::Offset: Send,
impl<'a, A> Send for Drain<'a, A> where
A: Array + Send,
[src]
A: Array + Send,
impl<T, N> Send for GenericArray<T, N> where
T: Send,
N: ArrayLength<T>,
T: Send,
N: ArrayLength<T>,
impl<T, N> Send for GenericArray<T, N> where
T: Send,
N: ArrayLength<T>,
T: Send,
N: ArrayLength<T>,
impl<'_, K, V, S> Send for RawOccupiedEntryMut<'_, K, V, S> where
K: Send,
V: Send,
S: Sync,
K: Send,
V: Send,
S: Sync,
impl<'_, K, V> Send for IterMut<'_, K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<'_, K, V, S> Send for OccupiedEntry<'_, K, V, S> where
K: Send,
V: Send,
S: Send,
K: Send,
V: Send,
S: Send,
impl Send for AtomicWaker
impl<'_, T> Send for MutexGuard<'_, T> where
T: Send + ?Sized,
T: Send + ?Sized,
impl<T> Send for Mutex<T> where
T: Send + ?Sized,
T: Send + ?Sized,
impl<'_, T, U> Send for MappedMutexGuard<'_, T, U> where
T: Send + ?Sized,
U: Send + ?Sized,
T: Send + ?Sized,
U: Send + ?Sized,
impl<'_, T> Send for MutexLockFuture<'_, T> where
T: Send + ?Sized,
T: Send + ?Sized,
impl<Fut> Send for FuturesUnordered<Fut> where
Fut: Send,
Fut: Send,
impl<'_, T> Send for FutureObj<'_, T>
impl Send for isize
[src]
impl<T> Send for [T] where
T: Send,
[src]
T: Send,
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]
T: Send,
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]
T: Sync,
impl<'a, T> Send for frame_support::dispatch::result::IterMut<'a, T> where
T: Send,
[src]
T: Send,
impl<B, O> Send for DecodeDifferent<B, O> where
B: Send,
O: Send,
[src]
B: Send,
O: Send,
impl<B, P> Send for SignedImbalance<B, P> where
P: Send,
<P as Imbalance<B>>::Opposite: Send,
[src]
P: Send,
<P as Imbalance<B>>::Opposite: Send,
impl<Balance> Send for WeightToFeeCoefficient<Balance> where
Balance: Send,
[src]
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,
[src]
Balance: Send,
Imbalance: Send,
Part1: Send,
Part2: Send,
Target1: Send,
Target2: Send,
impl<BlockNumber> Send for DispatchTime<BlockNumber> where
BlockNumber: Send,
[src]
BlockNumber: Send,
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]
T: Send,
<F as FilterStack<T>>::Stack: Send,
impl<F, T> Send for FilterStackGuard<F, T> where
F: Send,
T: Send,
[src]
F: Send,
T: Send,
impl<K, T, H> Send for StorageKeyIterator<K, T, H> where
H: Send,
K: Send,
T: Send,
[src]
H: Send,
K: Send,
T: Send,
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]
Hasher1: Send,
Hasher2: Send,
Key1: Send,
Key2: Send,
OnEmpty: Send,
Prefix: Send,
QueryKind: Send,
Value: Send,
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]
Hasher: Send,
Key: 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,
[src]
OnEmpty: Send,
Prefix: Send,
QueryKind: Send,
Value: Send,
impl<R> Send for TransactionOutcome<R> where
R: Send,
[src]
R: Send,
impl<S, L, K, T> Send for StorageMapShim<S, L, K, T> where
K: Send,
L: Send,
S: Send,
T: Send,
[src]
K: Send,
L: Send,
S: Send,
T: Send,
impl<T> Send for frame_support::dispatch::result::IntoIter<T> where
T: Send,
[src]
T: Send,
impl<T> Send for StorageIterator<T> where
T: Send,
[src]
T: Send,
impl<T> Send for PrefixIterator<T>
[src]
impl<T> Send for IdentityFee<T> where
T: Send,
[src]
T: Send,
impl<T> Send for PerDispatchClass<T> where
T: Send,
[src]
T: Send,
impl<T, A> Send for Vec<T, A> where
A: Send,
T: Send,
[src]
A: Send,
T: Send,
impl<T, E> Send for Result<T, E> where
E: Send,
T: Send,
[src]
E: Send,
T: Send,
impl<T: ?Sized> Send for PhantomData<T> where
T: Send,
[src]
T: Send,
impl<WD, CD, PF> Send for FunctionOf<WD, CD, PF> where
CD: Send,
PF: Send,
WD: Send,
[src]
CD: Send,
PF: Send,
WD: Send,