Trait frame_support::dispatch::marker::Send

1.0.0 · source ·
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 and the Sync trait for more details.

Implementors§

1.26.0 · source§

impl !Send for Args

1.26.0 · source§

impl !Send for ArgsOs

source§

impl Send for TableElementwhere VMExternRef: Send,

source§

impl Send for Bump

source§

impl Send for Bytes

source§

impl Send for BytesMut

source§

impl Send for Select<'_>

source§

impl Send for Collector

source§

impl Send for Parker

source§

impl Send for Unparker

source§

impl Send for AtomicWaker

source§

impl Send for rustix::backend::fs::dir::Dir

Dir implements Send but not Sync, because we use readdir which is not guaranteed to be thread-safe. Users can wrap this in a Mutex if they need Sync, which is effectively what’d need to do to implement Sync ourselves.

source§

impl Send for rustix::backend::fs::dir::Dir

Dir implements Send but not Sync, because we use readdir which is not guaranteed to be thread-safe. Users can wrap this in a Mutex if they need Sync, which is effectively what’d need to do to implement Sync ourselves.

source§

impl Send for GdbJitImageRegistration

source§

impl Send for ExportFunction

source§

impl Send for ExportGlobal

source§

impl Send for ExportMemory

source§

impl Send for ExportTable

source§

impl Send for VMExternRef

source§

impl Send for InstanceHandle

source§

impl Send for VMCallerCheckedAnyfunc

source§

impl Send for VMFunctionImport

source§

impl Send for VMGlobalImport

source§

impl Send for VMMemoryImport

source§

impl Send for VMRuntimeLimits

source§

impl Send for VMTableImport

source§

impl Send for VMHostFuncContext

source§

impl Send for DCtx<'_>

1.6.0 · source§

impl Send for alloc::string::Drain<'_>

1.36.0 · source§

impl Send for Waker

source§

impl<'a> Send for CCtx<'a>

source§

impl<'a> Send for CDict<'a>

source§

impl<'a> Send for DDict<'a>

1.44.0 · source§

impl<'a> Send for IoSlice<'a>

1.44.0 · source§

impl<'a> Send for IoSliceMut<'a>

source§

impl<'a, 'b, K, Q, V, S, A> Send for OccupiedEntryRef<'a, 'b, K, Q, V, S, A>where K: Send, Q: Sync + ?Sized, V: Send, S: Send, A: Send + Allocator + Clone,

source§

impl<'a, A> Send for arrayvec::Drain<'a, A>where A: Array + Send,

source§

impl<'a, K, V> Send for lru::Iter<'a, K, V>where K: Send, V: Send,

source§

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

source§

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

source§

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

source§

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

source§

impl<'a, T> Send for smallvec::Drain<'a, T>where T: Send + Array,

source§

impl<'a, T, O> Send for bitvec::slice::iter::Iter<'a, T, O>where T: BitStore, O: BitOrder, &'a mut BitSlice<T, O>: Send,

source§

impl<'a, T, O> Send for bitvec::slice::iter::IterMut<'a, T, O>where T: BitStore, O: BitOrder, &'a mut BitSlice<T, O>: Send,

source§

impl<'a, T, const CAP: usize> Send for arrayvec::arrayvec::Drain<'a, T, CAP>where T: Send,

source§

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

source§

impl<C> Send for Secp256k1<C>where C: Context,

source§

impl<Dyn> Send for DynMetadata<Dyn>where Dyn: ?Sized,

source§

impl<Fut> Send for futures_util::stream::futures_unordered::iter::IntoIter<Fut>where Fut: Send + Unpin,

source§

impl<Fut> Send for IterPinMut<'_, Fut>where Fut: Send,

source§

impl<Fut> Send for IterPinRef<'_, Fut>where Fut: Send,

source§

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

source§

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

source§

impl<K, V, S> Send for LruCache<K, V, S>where K: Send, V: Send, S: Send,

source§

impl<K, V, S, A> Send for OccupiedEntry<'_, K, V, S, A>where K: Send, V: Send, S: Send, A: Send + Allocator + Clone,

source§

impl<K, V, S, A> Send for RawOccupiedEntryMut<'_, K, V, S, A>where K: Send, V: Send, S: Send, A: Send + Allocator + Clone,

source§

impl<M, T, O> Send for BitRef<'_, M, T, O>where M: Mutability, T: BitStore + Sync, O: BitOrder,

source§

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

source§

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

source§

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

source§

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

source§

impl<T> !Send for *const Twhere T: ?Sized,

source§

impl<T> !Send for *mut Twhere T: ?Sized,

source§

impl<T> !Send for Rc<T>where T: ?Sized,

1.4.0 · source§

impl<T> !Send for alloc::rc::Weak<T>where T: ?Sized,

1.25.0 · source§

impl<T> !Send for NonNull<T>where T: ?Sized,

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

source§

impl<T> !Send for std::sync::mutex::MutexGuard<'_, T>where T: ?Sized,

source§

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

source§

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

source§

impl<T> Send for BitSpanError<T>where T: BitStore,

source§

impl<T> Send for &Twhere T: Sync + ?Sized,

source§

impl<T> Send for MisalignError<T>

source§

impl<T> Send for crossbeam_channel::channel::Receiver<T>where T: Send,

source§

impl<T> Send for crossbeam_channel::channel::Sender<T>where T: Send,

source§

impl<T> Send for Injector<T>where T: Send,

source§

impl<T> Send for Stealer<T>where T: Send,

source§

impl<T> Send for Worker<T>where T: Send,

source§

impl<T> Send for Atomic<T>where T: Pointable + Send + Sync + ?Sized,

source§

impl<T> Send for AtomicCell<T>where T: Send,

source§

impl<T> Send for CachePadded<T>where T: Send,

source§

impl<T> Send for ShardedLock<T>where T: Send + ?Sized,

source§

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

source§

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

source§

impl<T> Send for futures_util::lock::mutex::Mutex<T>where T: Send + ?Sized,

source§

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

source§

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

source§

impl<T> Send for OwnedMutexGuard<T>where T: Send + ?Sized,

source§

impl<T> Send for OwnedMutexLockFuture<T>where T: Send + ?Sized,

source§

impl<T> Send for Bucket<T>

source§

impl<T> Send for ThinBox<T>where T: Send + ?Sized,

ThinBox<T> is Send if T is Send because the data is owned.

source§

impl<T> Send for alloc::collections::linked_list::Iter<'_, T>where T: Sync,

source§

impl<T> Send for alloc::collections::linked_list::IterMut<'_, T>where T: Send,

source§

impl<T> Send for Arc<T>where T: Sync + Send + ?Sized,

1.4.0 · source§

impl<T> Send for alloc::sync::Weak<T>where T: Sync + Send + ?Sized,

source§

impl<T> Send for Cell<T>where T: Send + ?Sized,

source§

impl<T> Send for RefCell<T>where T: Send + ?Sized,

1.31.0 · source§

impl<T> Send for ChunksExactMut<'_, T>where T: Send,

source§

impl<T> Send for ChunksMut<'_, T>where T: Send,

source§

impl<T> Send for core::slice::iter::Iter<'_, T>where T: Sync,

source§

impl<T> Send for core::slice::iter::IterMut<'_, T>where T: Send,

1.31.0 · source§

impl<T> Send for RChunksExactMut<'_, T>where T: Send,

1.31.0 · source§

impl<T> Send for RChunksMut<'_, T>where T: Send,

source§

impl<T> Send for AtomicPtr<T>

source§

impl<T> Send for std::sync::mpsc::Receiver<T>where T: Send,

source§

impl<T> Send for std::sync::mpsc::Sender<T>where T: Send,

source§

impl<T> Send for SyncSender<T>where T: Send,

source§

impl<T> Send for std::sync::mutex::Mutex<T>where T: Send + ?Sized,

1.70.0 · source§

impl<T> Send for OnceLock<T>where T: Send,

source§

impl<T> Send for std::sync::rwlock::RwLock<T>where T: Send + ?Sized,

1.29.0 · source§

impl<T> Send for JoinHandle<T>

source§

impl<T, A> Send for RawDrain<'_, T, A>where A: Allocator + Copy + Send, T: Send,

source§

impl<T, A> Send for RawIntoIter<T, A>where A: Allocator + Clone + Send, T: Send,

source§

impl<T, A> Send for RawTable<T, A>where A: Allocator + Clone + Send, T: Send,

source§

impl<T, A> Send for Cursor<'_, T, A>where T: Sync, A: Allocator + Sync,

source§

impl<T, A> Send for CursorMut<'_, T, A>where T: Send, A: Allocator + Send,

source§

impl<T, A> Send for LinkedList<T, A>where T: Send, A: Allocator + Send,

1.6.0 · source§

impl<T, A> Send for alloc::collections::vec_deque::drain::Drain<'_, T, A>where T: Send, A: Allocator + Send,

1.6.0 · source§

impl<T, A> Send for alloc::vec::drain::Drain<'_, T, A>where T: Send, A: Send + Allocator,

source§

impl<T, A> Send for alloc::vec::into_iter::IntoIter<T, A>where T: Send, A: Allocator + Send,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<T, O> Send for bitvec::boxed::iter::IntoIter<T, O>where T: BitStore + Sync, O: BitOrder,

source§

impl<T, O> Send for BitBox<T, O>where T: BitStore, O: BitOrder,

source§

impl<T, O> Send for BitSlice<T, O>where T: BitStore + Sync, O: BitOrder,

Bit-Slice Thread Safety

This allows bit-slice references to be moved across thread boundaries only when the underlying T element can tolerate concurrency.

All BitSlice references, shared or exclusive, are only threadsafe if the T element type is Send, because any given bit-slice reference may only have partial control of a memory element that is also being shared by a bit-slice reference on another thread. As such, this is never implemented for Cell<U>, but always implemented for AtomicU and U for a given unsigned integer type U.

Atomic integers safely handle concurrent writes, cells do not allow concurrency at all, so the only missing piece is &mut BitSlice<_, U: Unsigned>. This is handled by the aliasing system that the mutable splitters employ: a mutable reference to an unsynchronized bit-slice can only cross threads when no other handle is able to exist to the elements it governs. Splitting a mutable bit-slice causes the split halves to change over to either atomics or cells, so concurrency is either safe or impossible.

source§

impl<T, O> Send for bitvec::vec::iter::Drain<'_, T, O>where T: BitStore, O: BitOrder, &'a mut BitSlice<T, O>: for<'a> Send,

source§

impl<T, O> Send for BitVec<T, O>where T: BitStore, O: BitOrder,

source§

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

source§

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

source§

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

Auto implementors§

§

impl Send for Never

§

impl Send for Void

§

impl Send for DispatchError

§

impl Send for InvalidTransaction

§

impl Send for TransactionSource

§

impl Send for TransactionValidityError

§

impl Send for UnknownTransaction

§

impl Send for ChildInfo

§

impl Send for ChildType

§

impl Send for KillStorageResult

§

impl Send for StateVersion

§

impl Send for Everything

§

impl Send for ExecuteOverweightError

§

impl Send for Nothing

§

impl Send for ProcessMessageError

§

impl Send for LookupError

§

impl Send for BalanceStatus

§

impl Send for DepositConsequence

§

impl Send for ExistenceRequirement

§

impl Send for DispatchClass

§

impl Send for Pays

§

impl Send for Alignment

§

impl Send for CheckInherentsResult

§

impl Send for Instance1

§

impl Send for Instance2

§

impl Send for Instance3

§

impl Send for Instance4

§

impl Send for Instance5

§

impl Send for Instance6

§

impl Send for Instance7

§

impl Send for Instance8

§

impl Send for Instance9

§

impl Send for Instance10

§

impl Send for Instance11

§

impl Send for Instance12

§

impl Send for Instance13

§

impl Send for Instance14

§

impl Send for Instance15

§

impl Send for Instance16

§

impl Send for GetDefault

§

impl Send for InherentData

§

impl Send for ValidTransaction

§

impl Send for Weight

§

impl Send for MultiRemovalResults

§

impl Send for StorageNoopGuard

§

impl Send for OptionQuery

§

impl Send for ValueQuery

§

impl Send for Blake2_128

§

impl Send for Blake2_128Concat

§

impl Send for Blake2_256

§

impl Send for Identity

§

impl Send for PalletId

§

impl Send for Twox64Concat

§

impl Send for Twox128

§

impl Send for Twox256

§

impl Send for Backing

§

impl Send for CallMetadata

§

impl Send for CrateVersion

§

impl Send for EqualPrivilegeOnly

§

impl Send for Footprint

§

impl Send for PalletInfoData

§

impl Send for SaturatingCurrencyToVote

§

impl Send for StorageInfo

§

impl Send for StorageVersion

§

impl Send for TrackedStorageKey

§

impl Send for U128CurrencyToVote

§

impl Send for WithdrawReasons

§

impl Send for BlockExecutionWeight

§

impl Send for ExtrinsicBaseWeight

§

impl Send for ParityDbWeight

§

impl Send for RocksDbWeight

§

impl Send for OldWeight

§

impl Send for RuntimeDbWeight

§

impl Send for WeightMeter

§

impl Send for Error

§

impl Send for DispatchInfo

§

impl Send for PostDispatchInfo

§

impl Send for PhantomPinned

§

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<'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<AccountId> Send for AttributeNamespace<AccountId>where AccountId: Send,

§

impl<AccountId> Send for RawOrigin<AccountId>where AccountId: 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, Target1, Target2, const PART1: u32, const PART2: u32> Send for SplitTwoWays<Balance, Imbalance, Target1, Target2, PART1, PART2>where Balance: Send, Imbalance: Send, Target1: Send, Target2: Send,

§

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

§

impl<C, A> Send for ActiveIssuanceOf<C, A>where A: Send, C: Send,

§

impl<C, A> Send for TotalIssuanceOf<C, A>where A: Send, C: Send,

§

impl<CP> Send for FromContainsPair<CP>where CP: Send,

§

impl<E> Send for MakeFatalError<E>where E: Send,

§

impl<EO> Send for AsEnsureOriginWithArg<EO>where EO: Send,

§

impl<Error> Send for ResultQuery<Error>where Error: Send,

§

impl<Exclude> Send for EverythingBut<Exclude>where Exclude: 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, A, AccountId> Send for frame_support::traits::tokens::nonfungible_v2::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<Hasher, KeyType> Send for Key<Hasher, KeyType>where Hasher: Send, KeyType: 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<L, R> Send for EitherOf<L, R>where L: Send, R: Send,

§

impl<L, R> Send for EitherOfDiverse<L, R>where L: Send, R: Send,

§

impl<M> Send for KeyLenOf<M>where M: Send,

§

impl<OM> Send for AsContains<OM>where OM: Send,

§

impl<Orig, Mutator> Send for TryMapSuccess<Orig, Mutator>where Mutator: Send, Orig: Send,

§

impl<Origin, PrivilegeCmp> Send for EnsureOriginEqualOrHigherPrivilege<Origin, PrivilegeCmp>where Origin: Send, PrivilegeCmp: Send,

§

impl<Original, Mutator> Send for MapSuccess<Original, Mutator>where Mutator: Send, Original: Send,

§

impl<P, T> Send for ClassCountOf<P, T>where P: Send, T: 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 CountedStorageMap<Prefix, Hasher, Key, Value, QueryKind, OnEmpty, MaxValues>where Hasher: Send, Key: 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<S, L, K, T> Send for StorageMapShim<S, L, K, T>where K: Send, L: Send, S: Send, T: Send,

§

impl<Success> Send for NeverEnsureOrigin<Success>where Success: Send,

§

impl<T> Send for Bounded<T>where T: 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 IsInVec<T>where T: Send,

§

impl<T> Send for WrapperKeepOpaque<T>where T: Send,

§

impl<T> Send for WrapperOpaque<T>where T: Send,

§

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

§

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

§

impl<T> Send for PerDispatchClass<T>where T: Send,

§

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

§

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

§

impl<T, Hash> Send for MaybeHashed<T, Hash>where Hash: Send, T: Send,

§

impl<T, M> Send for ConstantMultiplier<T, M>where M: Send, T: Send,

§

impl<T, OnRemoval> Send for PrefixIterator<T, OnRemoval>where OnRemoval: 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<Tally, Moment, Class> Send for PollStatus<Tally, Moment, Class>where Class: Send, Moment: Send, Tally: Send,

§

impl<These, Except> Send for TheseExcept<These, Except>where Except: Send, These: Send,

§

impl<These, Those> Send for InsideBoth<These, Those>where These: Send, Those: Send,

§

impl<const T: bool> Send for ConstBool<T>

§

impl<const T: i8> Send for ConstI8<T>

§

impl<const T: i16> Send for ConstI16<T>

§

impl<const T: i32> Send for ConstI32<T>

§

impl<const T: i64> Send for ConstI64<T>

§

impl<const T: i128> Send for ConstI128<T>

§

impl<const T: u8> Send for ConstU8<T>

§

impl<const T: u16> Send for ConstU16<T>

§

impl<const T: u32> Send for ConstU32<T>

§

impl<const T: u64> Send for ConstU64<T>

§

impl<const T: u128> Send for ConstU128<T>