Trait sgx_tstd::marker::Send 1.0.0[−][src]
pub unsafe auto trait Send { }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 Waker[src]
impl Send for Wakerimpl<'a, T> Send for FutureObj<'a, T>[src]
impl<'a, T> Send for FutureObj<'a, T>impl !Send for LocalWaker[src]
impl !Send for LocalWakerimpl Send for Argument
impl Send for Argumentimpl Send for FormatSpec
impl Send for FormatSpecimpl Send for Alignment
impl Send for Alignmentimpl Send for Count
impl Send for Countimpl Send for Position
impl Send for Positionimpl Send for stat
impl Send for statimpl Send for stat64
impl Send for stat64impl Send for timeval
impl Send for timevalimpl Send for timespec
impl Send for timespecimpl Send for sockaddr
impl Send for sockaddrimpl Send for sockaddr_in
impl Send for sockaddr_inimpl Send for sockaddr_in6
impl Send for sockaddr_in6impl Send for sockaddr_un
impl Send for sockaddr_unimpl Send for sockaddr_storage
impl Send for sockaddr_storageimpl !Send for addrinfo
impl !Send for addrinfoimpl Send for sockaddr_nl
impl Send for sockaddr_nlimpl Send for sockaddr_ll
impl Send for sockaddr_llimpl Send for fd_set
impl Send for fd_setimpl !Send for tm
impl !Send for tmimpl Send for in_addr
impl Send for in_addrimpl Send for in6_addr
impl Send for in6_addrimpl Send for ip_mreq
impl Send for ip_mreqimpl Send for ipv6_mreq
impl Send for ipv6_mreqimpl !Send for hostent
impl !Send for hostentimpl !Send for iovec
impl !Send for iovecimpl Send for pollfd
impl Send for pollfdimpl Send for winsize
impl Send for winsizeimpl Send for linger
impl Send for lingerimpl !Send for sigval
impl !Send for sigvalimpl Send for c_void
impl Send for c_voidImplementors
impl<'a, T> Send for sgx_tstd::slice::IterMut<'a, T> where
T: Send,impl<T> !Send for NonNull<T> where
T: ?Sized,impl<T> !Send for *mut T where
T: ?Sized,impl<'a, T> Send for &'a T where
T: Sync + ?Sized,impl<T> !Send for *const T where
T: ?Sized,impl<T> Send for AtomicPtr<T>impl<T> Send for RefCell<T> where
T: Send + ?Sized,impl<T> Send for Cell<T> where
T: Send,impl<'a, T> Send for &'a mut T where
T: Send + ?Sized,impl<'a, T> Send for sgx_tstd::slice::Iter<'a, T> where
T: Sync,impl<'a, T> Send for sgx_tstd::collections::linked_list::Iter<'a, T> where
T: Sync,impl<'a> Send for sgx_tstd::string::Drain<'a>impl<T> Send for sgx_tstd::vec::IntoIter<T> where
T: Send,impl<'a, T> Send for sgx_tstd::vec::Drain<'a, T> where
T: Send,impl<T> !Send for Rc<T> where
T: ?Sized,impl<T> Send for LinkedList<T> where
T: Send,impl<T> Send for sgx_tstd::sync::Weak<T> where
T: Send + Sync + ?Sized,impl<'a, T> Send for sgx_tstd::collections::linked_list::IterMut<'a, T> where
T: Send,impl<'a, T> Send for sgx_tstd::collections::vec_deque::Drain<'a, T> where
T: Send,impl<T> Send for Arc<T> where
T: Send + Sync + ?Sized,impl<T> !Send for sgx_tstd::rc::Weak<T> where
T: ?Sized,impl Send for SgxThreadCondvarimpl Send for SgxThreadMuteximpl<T: ?Sized + Send> Send for SgxMutex<T>impl<'a, T: ?Sized> !Send for SgxMutexGuard<'a, T>impl Send for SgxReentrantThreadMuteximpl<T: Send> Send for SgxReentrantMutex<T>impl<'a, T> !Send for SgxReentrantMutexGuard<'a, T>impl Send for sgx_tstd::sync::Onceimpl Send for SgxThreadRwLockimpl<T: ?Sized + Send> Send for SgxRwLock<T>impl<'a, T: ?Sized> !Send for SgxRwLockReadGuard<'a, T>impl<'a, T: ?Sized> !Send for SgxRwLockWriteGuard<'a, T>impl Send for SgxThreadSpinlockimpl Send for SgxSpinlockimpl<'a> !Send for SgxSpinlockGuard<'a>
Auto implementors
impl Send for isizeimpl Send for i8impl Send for i16impl Send for i32impl Send for i64impl Send for i128impl Send for usizeimpl Send for u8impl Send for u16impl Send for u32impl Send for u64impl Send for u128impl Send for f32impl Send for f64impl Send for charimpl Send for strimpl Send for strimpl Send for TypeIdimpl Send for BorrowErrorimpl Send for BorrowMutErrorimpl<'b, T> !Send for Ref<'b, T>impl<'b, T> !Send for RefMut<'b, T>impl<T: ?Sized> Send for UnsafeCell<T> where
T: Send,impl Send for sgx_tstd::cmp::Orderingimpl<T> Send for Reverse<T> where
T: Send,impl<H> Send for BuildHasherDefault<H> where
H: Send,impl Send for SipHasherimpl<T> Send for Rev<T> where
T: Send,impl<I> Send for Cloned<I> where
I: Send,impl<I> Send for Cycle<I> where
I: Send,impl<I> Send for StepBy<I> where
I: Send,impl<A, B> Send for sgx_tstd::iter::Chain<A, B> where
A: Send,
B: Send,impl<A, B> Send for Zip<A, B> where
A: Send,
B: Send,impl<I, F> Send for Map<I, F> where
F: Send,
I: Send,impl<I, P> Send for Filter<I, P> where
I: Send,
P: Send,impl<I, F> Send for FilterMap<I, F> where
F: Send,
I: Send,impl<I> Send for Enumerate<I> where
I: Send,impl<I> Send for Peekable<I> where
I: Send,
<I as Iterator>::Item: Send,impl<I, P> Send for SkipWhile<I, P> where
I: Send,
P: Send,impl<I, P> Send for TakeWhile<I, P> where
I: Send,
P: Send,impl<I> Send for Skip<I> where
I: Send,impl<I> Send for sgx_tstd::iter::Take<I> where
I: Send,impl<I, St, F> Send for Scan<I, St, F> where
F: Send,
I: Send,
St: Send,impl<I, U, F> Send for FlatMap<I, U, F> where
F: Send,
I: Send,
<U as IntoIterator>::IntoIter: Send,impl<I> Send for Flatten<I> where
I: Send,
<<I as Iterator>::Item as IntoIterator>::IntoIter: Send,impl<I> Send for Fuse<I> where
I: Send,impl<I, F> Send for Inspect<I, F> where
F: Send,
I: Send,impl<T> Send for sgx_tstd::iter::Empty<T> where
T: Send,impl<F> Send for RepeatWith<F> where
F: Send,impl<A> Send for sgx_tstd::iter::Repeat<A> where
A: Send,impl<T> Send for sgx_tstd::iter::Once<T> where
T: Send,impl<T: ?Sized> Send for PhantomData<T> where
T: Send,impl Send for Pinnedimpl<T> Send for Discriminant<T>impl<T> Send for ManuallyDrop<T> where
T: Send,impl<'a, T: ?Sized> Send for PinMut<'a, T> where
T: Send,impl<Idx> Send for sgx_tstd::ops::Range<Idx> where
Idx: Send,impl<Y, R> Send for GeneratorState<Y, R> where
R: Send,
Y: Send,impl<Idx> Send for RangeToInclusive<Idx> where
Idx: Send,impl<Idx> Send for RangeTo<Idx> where
Idx: Send,impl<Idx> Send for RangeInclusive<Idx> where
Idx: Send,impl Send for RangeFullimpl<Idx> Send for RangeFrom<Idx> where
Idx: Send,impl<T> Send for Bound<T> where
T: Send,impl !Send for TraitObjectimpl<T, E> Send for Result<T, E> where
E: Send,
T: Send,impl<'a, T> Send for sgx_tstd::result::Iter<'a, T> where
T: Sync,impl<'a, T> Send for sgx_tstd::result::IterMut<'a, T> where
T: Send,impl<T> Send for sgx_tstd::result::IntoIter<T> where
T: Send,impl<T> Send for Option<T> where
T: Send,impl<'a, A> Send for sgx_tstd::option::Iter<'a, A> where
A: Sync,impl<'a, A> Send for sgx_tstd::option::IterMut<'a, A> where
A: Send,impl<A> Send for sgx_tstd::option::IntoIter<A> where
A: Send,impl Send for NoneErrorimpl Send for EscapeUnicodeimpl Send for sgx_tstd::char::EscapeDefaultimpl Send for EscapeDebugimpl Send for ToLowercaseimpl Send for ToUppercaseimpl Send for DecodeUtf16Errorimpl Send for CharTryFromErrorimpl Send for UnicodeVersionimpl<I> Send for DecodeUtf8<I> where
I: Send,impl<I> Send for DecodeUtf16<I> where
I: Send,impl Send for ParseCharErrorimpl Send for InvalidSequenceimpl<T: ?Sized> Send for Box<T> where
T: Send,impl<T: ?Sized> Send for PinBox<T> where
T: Send,impl<'a, B: ?Sized> Send for Cow<'a, B> where
B: Sync,
<B as ToOwned>::Owned: Send,impl<'a, 'b> !Send for DebugStruct<'a, 'b>impl<'a, 'b> !Send for DebugList<'a, 'b>impl<'a, 'b> !Send for DebugSet<'a, 'b>impl Send for sgx_tstd::fmt::Alignmentimpl<'a, 'b> !Send for DebugTuple<'a, 'b>impl<'a> !Send for Arguments<'a>impl<'a> !Send for Formatter<'a>impl Send for sgx_tstd::fmt::Errorimpl<'a, 'b> !Send for DebugMap<'a, 'b>impl<'a, T> Send for Windows<'a, T> where
T: Sync,impl<'a, T, P> Send for sgx_tstd::slice::RSplit<'a, T, P> where
P: Send,
T: Sync,impl<'a, T, P> Send for sgx_tstd::slice::RSplitN<'a, T, P> where
P: Send,
T: Sync,impl<'a, T, P> Send for SplitMut<'a, T, P> where
P: Send,
T: Send,impl<'a, T, P> Send for sgx_tstd::slice::SplitN<'a, T, P> where
P: Send,
T: Sync,impl<'a, T> Send for Chunks<'a, T> where
T: Sync,impl<'a, T> Send for ExactChunksMut<'a, T> where
T: Send,impl<'a, T, P> Send for sgx_tstd::slice::Split<'a, T, P> where
P: Send,
T: Sync,impl<'a, T> Send for ExactChunks<'a, T> where
T: Sync,impl<'a, T, P> Send for RSplitMut<'a, T, P> where
P: Send,
T: Send,impl<'a, T> Send for ChunksMut<'a, T> where
T: Send,impl<'a, T, P> Send for RSplitNMut<'a, T, P> where
P: Send,
T: Send,impl<'a, T, P> Send for SplitNMut<'a, T, P> where
P: Send,
T: Send,impl<'a> Send for sgx_tstd::str::Lines<'a>impl<'a, P> Send for RMatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a> Send for sgx_tstd::str::Bytes<'a>impl<'a, P> Send for Matches<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a, P> Send for sgx_tstd::str::RSplit<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a, P> Send for sgx_tstd::str::RSplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl Send for Utf8Errorimpl<'a> Send for CharIndices<'a>impl<'a, P> Send for RSplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl Send for SearchStepimpl<'a> Send for CharSearcher<'a>impl<'a, 'b> Send for CharSliceSearcher<'a, 'b>impl<'a, F> Send for CharPredicateSearcher<'a, F> where
F: Send,impl<'a, 'b> Send for StrSearcher<'a, 'b>impl Send for ParseBoolErrorimpl<'a> Send for EncodeUtf16<'a>impl<'a> Send for sgx_tstd::str::Chars<'a>impl<'a, P> Send for sgx_tstd::str::SplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a, P> Send for sgx_tstd::str::Split<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a, P> Send for SplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a, P> Send for MatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a> Send for LinesAny<'a>impl<'a> Send for SplitAsciiWhitespace<'a>impl<'a, P> Send for RMatches<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl<'a> Send for SplitWhitespace<'a>impl Send for Stringimpl Send for FromUtf8Errorimpl Send for FromUtf16Errorimpl Send for ParseErrorimpl<T> Send for Vec<T> where
T: Send,impl<'a, I> Send for Splice<'a, I> where
I: Send,
<I as Iterator>::Item: Send,impl<'a, T, F> Send for sgx_tstd::vec::DrainFilter<'a, T, F> where
F: Send,
T: Send,impl<T> Send for LocalKey<T>impl<T> Send for LocalKeyInner<T> where
T: Send,impl Send for AccessErrorimpl Send for SgxThreadIdimpl Send for SgxThreadimpl Send for sgx_tstd::ascii::EscapeDefaultimpl<T> Send for BinaryHeap<T> where
T: Send,impl<K, V> Send for BTreeMap<K, V> where
K: Send,
V: Send,impl<T> Send for BTreeSet<T> where
T: Send,impl<T> Send for VecDeque<T> where
T: Send,impl<'a, T> Send for PeekMut<'a, T> where
T: Send,impl<'a, T> Send for sgx_tstd::collections::binary_heap::Iter<'a, T> where
T: Sync,impl<T> Send for sgx_tstd::collections::binary_heap::IntoIter<T> where
T: Send,impl<'a, T> Send for sgx_tstd::collections::binary_heap::Drain<'a, T> where
T: Send,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::Iter<'a, K, V> where
K: Sync,
V: Sync,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::VacantEntry<'a, K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::OccupiedEntry<'a, K, V> where
K: Send,
V: Send,impl<K, V> Send for sgx_tstd::collections::btree_map::IntoIter<K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::IterMut<'a, K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::Keys<'a, K, V> where
K: Sync,
V: Sync,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::Entry<'a, K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::ValuesMut<'a, K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::Values<'a, K, V> where
K: Sync,
V: Sync,impl<'a, K, V> Send for RangeMut<'a, K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::btree_map::Range<'a, K, V> where
K: Sync,
V: Sync,impl<'a, T> Send for sgx_tstd::collections::btree_set::Range<'a, T> where
T: Sync,impl<'a, T> Send for sgx_tstd::collections::btree_set::Union<'a, T> where
T: Sync,impl<'a, T> Send for sgx_tstd::collections::btree_set::Iter<'a, T> where
T: Sync,impl<T> Send for sgx_tstd::collections::btree_set::IntoIter<T> where
T: Send,impl<'a, T> Send for sgx_tstd::collections::btree_set::SymmetricDifference<'a, T> where
T: Sync,impl<'a, T> Send for sgx_tstd::collections::btree_set::Intersection<'a, T> where
T: Sync,impl<'a, T> Send for sgx_tstd::collections::btree_set::Difference<'a, T> where
T: Sync,impl<T> Send for sgx_tstd::collections::linked_list::IntoIter<T> where
T: Send,impl<'a, T, F> !Send for sgx_tstd::collections::linked_list::DrainFilter<'a, T, F>impl<'a, T> Send for sgx_tstd::collections::vec_deque::Iter<'a, T> where
T: Sync,impl<'a, T> Send for sgx_tstd::collections::vec_deque::IterMut<'a, T> where
T: Send,impl<T> Send for sgx_tstd::collections::vec_deque::IntoIter<T> where
T: Send,impl Send for CollectionAllocErrimpl<K, V, S> Send for HashMap<K, V, S> where
K: Send,
S: Send,
V: Send,impl<T, S> Send for HashSet<T, S> where
S: Send,
T: Send,impl<'a, K, V> Send for sgx_tstd::collections::hash_map::Iter<'a, K, V> where
K: Sync,
V: Sync,impl<'a, K, V> Send for sgx_tstd::collections::hash_map::IterMut<'a, K, V> where
K: Send,
V: Send,impl<K, V> Send for sgx_tstd::collections::hash_map::IntoIter<K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::hash_map::Keys<'a, K, V> where
K: Sync,
V: Sync,impl<'a, K, V> Send for sgx_tstd::collections::hash_map::Values<'a, K, V> where
K: Sync,
V: Sync,impl<'a, K, V> Send for sgx_tstd::collections::hash_map::Drain<'a, K, V> where
K: Send,
V: Send,impl<'a, K, V> Send for sgx_tstd::collections::hash_map::ValuesMut<'a, K, V> where
K: Send,
V: Send,impl<'a, K, V> !Send for sgx_tstd::collections::hash_map::OccupiedEntry<'a, K, V>impl<'a, K, V> !Send for sgx_tstd::collections::hash_map::VacantEntry<'a, K, V>impl Send for RandomStateimpl Send for DefaultHasherimpl<'a, K, V> !Send for sgx_tstd::collections::hash_map::Entry<'a, K, V>impl<'a, K> Send for sgx_tstd::collections::hash_set::Iter<'a, K> where
K: Sync,impl<K> Send for sgx_tstd::collections::hash_set::IntoIter<K> where
K: Send,impl<'a, K> Send for sgx_tstd::collections::hash_set::Drain<'a, K> where
K: Send,impl<'a, T, S> Send for sgx_tstd::collections::hash_set::Intersection<'a, T, S> where
S: Sync,
T: Sync,impl<'a, T, S> Send for sgx_tstd::collections::hash_set::Difference<'a, T, S> where
S: Sync,
T: Sync,impl<'a, T, S> Send for sgx_tstd::collections::hash_set::SymmetricDifference<'a, T, S> where
S: Sync,
T: Sync,impl<'a, T, S> Send for sgx_tstd::collections::hash_set::Union<'a, T, S> where
S: Sync,
T: Sync,impl !Send for Varsimpl !Send for VarsOsimpl<'a> Send for SplitPaths<'a>impl Send for JoinPathsErrorimpl Send for VarErrorimpl Send for CStringimpl Send for CStrimpl Send for NulErrorimpl Send for IntoStringErrorimpl Send for FromBytesWithNulErrorimpl Send for OsStringimpl Send for OsStrimpl !Send for SgxFileimpl Send for sgx_tstd::sgxfs::OpenOptionsimpl<R> Send for BufReader<R> where
R: Send,impl<W> Send for BufWriter<W> where
W: Send,impl<W> Send for LineWriter<W> where
W: Send,impl<W> Send for IntoInnerError<W> where
W: Send,impl<T> Send for Cursor<T> where
T: Send,impl Send for sgx_tstd::io::Errorimpl Send for Sinkimpl Send for sgx_tstd::io::Emptyimpl Send for sgx_tstd::io::Repeatimpl<T> !Send for Lazy<T>impl Send for Stdinimpl Send for Stdoutimpl Send for Stderrimpl<'a> !Send for StdoutLock<'a>impl<'a> !Send for StderrLock<'a>impl<'a> !Send for StdinLock<'a>impl Send for Initializerimpl<T, U> Send for sgx_tstd::io::Chain<T, U> where
T: Send,
U: Send,impl<T> Send for sgx_tstd::io::Take<T> where
T: Send,impl<R> Send for sgx_tstd::io::Bytes<R> where
R: Send,impl<R> Send for sgx_tstd::io::Chars<R> where
R: Send,impl<B> Send for sgx_tstd::io::Split<B> where
B: Send,impl<B> Send for sgx_tstd::io::Lines<B> where
B: Send,impl Send for ErrorKindimpl Send for SeekFromimpl Send for CharsErrorimpl Send for Ipv4Addrimpl Send for Ipv6Addrimpl Send for SocketAddrV4impl Send for SocketAddrV6impl Send for AddrParseErrorimpl Send for IpAddrimpl Send for Ipv6MulticastScopeimpl Send for SocketAddrimpl Send for Shutdownimpl Send for FpCategoryimpl Send for ParseIntErrorimpl Send for ParseFloatErrorimpl Send for TryFromIntErrorimpl<T> Send for Wrapping<T> where
T: Send,impl Send for NonZeroU8impl Send for NonZeroU16impl Send for NonZeroU32impl Send for NonZeroU64impl Send for NonZeroU128impl Send for NonZeroUsizeimpl Send for sgx_tstd::os::raw::statimpl Send for sgx_tstd::os::raw::c_voidimpl<'a> !Send for PanicInfo<'a>impl<'a> Send for Location<'a>impl<T> Send for AssertUnwindSafe<T> where
T: Send,impl<'a> Send for PrefixComponent<'a>impl<'a> Send for Components<'a>impl<'a> Send for sgx_tstd::path::Iter<'a>impl<'a> Send for Ancestors<'a>impl Send for PathBufimpl Send for Pathimpl Send for StripPrefixErrorimpl<'a> Send for Display<'a>impl<'a> Send for Prefix<'a>impl<'a> Send for Component<'a>impl Send for ParsePathErrorimpl Send for AtomicBoolimpl Send for sgx_tstd::sync::atomic::Orderingimpl Send for AtomicI8impl Send for AtomicU8impl Send for AtomicI16impl Send for AtomicU16impl Send for AtomicI32impl Send for AtomicU32impl Send for AtomicI64impl Send for AtomicU64impl Send for AtomicIsizeimpl Send for AtomicUsizeimpl Send for Barrierimpl Send for BarrierWaitResultimpl Send for SgxCondvarimpl Send for OnceStateimpl<T> Send for PoisonError<T> where
T: Send,impl<T> Send for TryLockError<T> where
T: Send,impl Send for Durationimpl Send for Instantimpl Send for SystemTimeimpl Send for SystemTimeErrorimpl Send for SgxThreadPolicyimpl Send for Fileimpl Send for Metadataimpl Send for sgx_tstd::untrusted::fs::OpenOptionsimpl Send for Permissionsimpl Send for FileType