Trait std::marker::Send1.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

Implementors

impl<T: Send> Send for LinkedList<T>

impl<T: Sync> Send for Iter<'_, T>

impl<T: Send> Send for IterMut<'_, T>

impl<T: Sync> Send for Cursor<'_, T>

impl<T: Send> Send for CursorMut<'_, T>

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

impl<T: Send> Send for IterMut<'_, T>

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

impl<T: ?Sized> !Send for Weak<T>

impl Send for Drain<'_>

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

impl<T: ?Sized + Sync + Send> Send for Weak<T>

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

impl<T: Send, A: Allocator + Send> Send for IntoIter<T, A>

impl Send for ByteBuffer

impl<T: Send, S: Send> Send for Sender<T, S>

impl<T: Send, S: Send> Send for Receiver<T, S>

impl<T: Send, S: Send> Send for AsyncSender<T, S>

impl<T: Send, S: Send> Send for AsyncReceiver<T, S>

Auto implementors

impl Send for AesmError

impl Send for Error

impl Send for QuoteType

impl Send for QuoteInfo

impl Send for QuoteResult

impl Send for AesmClient

impl<'a> Send for Quote<'a>

impl<'a> Send for QuoteHeader<'a>

impl<'a> Send for Qe3CertDataPpid<'a>

impl<'a> Send for Qe3CertDataPckCertChain<'a>

impl Send for Quote3Error

impl Send for Command

impl !Send for Library

impl<'a> !Send for EnclaveBuilder<'a>

impl<T> Send for WithId<T> where
    T: Send

impl Send for Usercall

impl Send for Return

impl<T> !Send for FifoDescriptor<T>

impl Send for Error

impl Send for Usercalls

impl Send for Request

impl Send for Addr

impl Send for Response

impl Send for Server

impl<T> Send for Identified<T> where
    T: Send

impl Send for QueueEvent

impl Send for SendError

impl Send for RecvError

impl<T> !Send for DescriptorGuard<T>

impl Send for Encls

impl Send for Enclu

impl Send for ErrorCode

impl Send for PageType

impl Send for Keyname

impl Send for Secs

impl Send for Attributes

impl Send for Miscselect

impl Send for Tcs

impl Send for TcsFlags

impl Send for Pageinfo

impl Send for Secinfo

impl Send for Pcmd

impl Send for Sigstruct

impl Send for Einittoken

impl Send for Report

impl Send for Targetinfo

impl Send for Keyrequest

impl Send for Keypolicy

impl Send for sgxCpusvn

impl Send for sgxMrsigner

impl Send for sgxIsvsvn

impl Send for SgxName

impl<'a, 'b> Send for AttestationInlineSgxLocal<'a, 'b>

impl<'a, 'b, 'c> Send for AttestationEmbeddedIasReport<'a, 'b, 'c>

impl<'a, 'b> Send for AttestationEmbeddedFqpe<'a, 'b>

impl Send for QuoteResult

impl Send for Error

impl<T: ?Sized> Send for Mapping<T> where
    <T as Load>::MappingInfo: Send

impl Send for Error

impl Send for Meas

impl Send for PageChunks

impl<'a, R> Send for CanonicalSgxsReader<'a, R> where
    R: Send

impl<'a, R> Send for PageReader<'a, R> where
    R: Send

impl Send for CreateInfo

impl Send for PageChunk

impl<'a, R> Send for MeasuredData<'a, R> where
    R: Send

impl<'a, W> Send for CanonicalSgxsWriter<'a, W> where
    W: Send

impl Send for MeasECreate

impl Send for MeasEAdd

impl Send for MeasEExtend

impl Send for EnclaveHash

impl Send for Signer

impl Send for Error

impl !Send for Device

impl Send for Error

impl !Send for Library

impl Send for Tcs

impl Send for MappingInfo