Trait wasmer_types::lib::std::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 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
impl Send for FormatSpec
impl Send for Alignment
impl Send for Count
impl<T> Send for Bucket<T>
Implementors
impl<'_, T, A> Send for wasmer_types::lib::std::vec::Drain<'_, T, A> where
T: Send,
A: Send + Allocator,
1.6.0[src]NonNull
pointers are not Send
because the data they reference may be aliased.
Auto implementors
impl !Send for VMExternRef
impl Send for ExportIndex
impl Send for ExternType
impl Send for GlobalInit
impl Send for ImportIndex
impl Send for Mutability
impl Send for Infallible
impl Send for RecvTimeoutError
impl Send for TryRecvError
impl Send for Atomically
impl Send for CustomSectionIndex
impl Send for DataInitializerLocation
impl Send for FunctionIndex
impl Send for FunctionType
impl Send for GlobalIndex
impl Send for GlobalType
impl Send for LocalFunctionIndex
impl Send for LocalGlobalIndex
impl Send for LocalMemoryIndex
impl Send for LocalTableIndex
impl Send for MemoryIndex
impl Send for MemoryType
impl Send for OwnedDataInitializer
impl Send for PageCountOutOfRange
impl Send for SignatureIndex
impl Send for TableIndex
impl Send for TableInitializer
impl Send for BorrowError
impl Send for BorrowMutError
impl Send for FromUtf8Error
impl Send for FromUtf16Error
impl Send for AtomicBool
impl Send for AtomicIsize
impl Send for AtomicUsize
impl Send for BarrierWaitResult
impl Send for WaitTimeoutResult
impl Send for PhantomPinned
impl<'a, 'b> !Send for DebugStruct<'a, 'b>
impl<'a, 'b> !Send for DebugTuple<'a, 'b>
impl<'a, T> Send for ChunksExact<'a, T> where
T: Sync,
impl<'a, T> Send for ChunksExactMut<'a, T> where
T: Send,
impl<'a, T> Send for RChunksExact<'a, T> where
T: Sync,
impl<'a, T> Send for RChunksExactMut<'a, T> where
T: Send,
impl<'a, T> Send for RChunksMut<'a, T> where
T: Send,
impl<'a, T, A = NonAtomically> !Send for MemoryView<'a, T, A>
impl<'a, T, F, A> Send for DrainFilter<'a, T, F, A> where
A: Send,
F: Send,
T: Send,
impl<'a, T, P> Send for GroupByMut<'a, T, P> where
P: Send,
T: Send,
impl<'a, T, P> Send for RSplitNMut<'a, T, P> where
P: Send,
T: Send,
impl<'a, T, const N: usize> !Send for ArrayWindows<'a, T, N>
impl<'a, T, const N: usize> Send for ArrayChunks<'a, T, N> where
T: Sync,
impl<'a, T, const N: usize> Send for ArrayChunksMut<'a, T, N> where
T: Send,
impl<'data> Send for DataInitializer<'data>
impl<B, C> Send for ControlFlow<B, C> where
B: Send,
C: Send,
impl<F> Send for RepeatWith<F> where
F: Send,
impl<H> Send for BuildHasherDefault<H> where
H: Send,
impl<I, U, F> Send for FlatMap<I, U, F> where
F: Send,
I: Send,
<U as IntoIterator>::IntoIter: Send,
impl<Idx> Send for RangeInclusive<Idx> where
Idx: Send,
impl<Idx> Send for RangeToInclusive<Idx> where
Idx: Send,
impl<K, V> Send for BoxedSlice<K, V> where
K: Send,
V: Send,
impl<K, V> Send for PrimaryMap<K, V> where
K: Send,
V: Send,
impl<K, V> Send for SecondaryMap<K, V> where
K: Send,
V: Send,
impl<K, V> Send for ArchivableIndexMap<K, V> where
K: Send,
V: Send,
impl<T> Send for TryLockError<T> where
T: Send,
impl<T> Send for TrySendError<T> where
T: Send,
impl<T> Send for PackedOption<T> where
T: Send,
impl<T> Send for ExportType<T> where
T: Send,
impl<T> Send for ImportType<T> where
T: Send,
impl<T> Send for Discriminant<T>
impl<T> Send for PoisonError<T> where
T: Send,
impl<T> Send for MaybeUninit<T> where
T: Send,
impl<T, F> Send for Successors<T, F> where
F: Send,
T: Send,
impl<T: ?Sized> Send for UnsafeCell<T> where
T: Send,
impl<T: ?Sized> Send for ManuallyDrop<T> where
T: Send,
impl<T: ?Sized> Send for PhantomData<T> where
T: Send,
impl<Y, R> Send for GeneratorState<Y, R> where
R: Send,
Y: Send,