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 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 Waker
[src]
impl Send for Waker
impl<'a, T> Send for FutureObj<'a, T>
[src]
impl<'a, T> Send for FutureObj<'a, T>
impl !Send for LocalWaker
[src]
impl !Send for LocalWaker
impl Send for Argument
impl Send for Argument
impl Send for FormatSpec
impl Send for FormatSpec
impl Send for Alignment
impl Send for Alignment
impl Send for Count
impl Send for Count
impl Send for Position
impl Send for Position
impl Send for stat
impl Send for stat
impl Send for stat64
impl Send for stat64
impl Send for timeval
impl Send for timeval
impl Send for timespec
impl Send for timespec
impl Send for sockaddr
impl Send for sockaddr
impl Send for sockaddr_in
impl Send for sockaddr_in
impl Send for sockaddr_in6
impl Send for sockaddr_in6
impl Send for sockaddr_un
impl Send for sockaddr_un
impl Send for sockaddr_storage
impl Send for sockaddr_storage
impl !Send for addrinfo
impl !Send for addrinfo
impl Send for sockaddr_nl
impl Send for sockaddr_nl
impl Send for sockaddr_ll
impl Send for sockaddr_ll
impl Send for fd_set
impl Send for fd_set
impl !Send for tm
impl !Send for tm
impl Send for in_addr
impl Send for in_addr
impl Send for in6_addr
impl Send for in6_addr
impl Send for ip_mreq
impl Send for ip_mreq
impl Send for ipv6_mreq
impl Send for ipv6_mreq
impl !Send for hostent
impl !Send for hostent
impl !Send for iovec
impl !Send for iovec
impl Send for pollfd
impl Send for pollfd
impl Send for winsize
impl Send for winsize
impl Send for linger
impl Send for linger
impl !Send for sigval
impl !Send for sigval
impl Send for c_void
impl Send for c_void
Implementors
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 SgxThreadCondvar
impl Send for SgxThreadMutex
impl<T: ?Sized + Send> Send for SgxMutex<T>
impl<'a, T: ?Sized> !Send for SgxMutexGuard<'a, T>
impl Send for SgxReentrantThreadMutex
impl<T: Send> Send for SgxReentrantMutex<T>
impl<'a, T> !Send for SgxReentrantMutexGuard<'a, T>
impl Send for sgx_tstd::sync::Once
impl Send for SgxThreadRwLock
impl<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 SgxThreadSpinlock
impl Send for SgxSpinlock
impl<'a> !Send for SgxSpinlockGuard<'a>
Auto implementors
impl Send for isize
impl Send for i8
impl Send for i16
impl Send for i32
impl Send for i64
impl Send for i128
impl Send for usize
impl Send for u8
impl Send for u16
impl Send for u32
impl Send for u64
impl Send for u128
impl Send for f32
impl Send for f64
impl Send for char
impl Send for str
impl Send for str
impl Send for TypeId
impl Send for BorrowError
impl Send for BorrowMutError
impl<'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::Ordering
impl<T> Send for Reverse<T> where
T: Send,impl<H> Send for BuildHasherDefault<H> where
H: Send,impl Send for SipHasher
impl<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 Pinned
impl<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 RangeFull
impl<Idx> Send for RangeFrom<Idx> where
Idx: Send,impl<T> Send for Bound<T> where
T: Send,impl !Send for TraitObject
impl<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 NoneError
impl Send for EscapeUnicode
impl Send for sgx_tstd::char::EscapeDefault
impl Send for EscapeDebug
impl Send for ToLowercase
impl Send for ToUppercase
impl Send for DecodeUtf16Error
impl Send for CharTryFromError
impl Send for UnicodeVersion
impl<I> Send for DecodeUtf8<I> where
I: Send,impl<I> Send for DecodeUtf16<I> where
I: Send,impl Send for ParseCharError
impl Send for InvalidSequence
impl<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::Alignment
impl<'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::Error
impl<'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 Utf8Error
impl<'a> Send for CharIndices<'a>
impl<'a, P> Send for RSplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send,impl Send for SearchStep
impl<'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 ParseBoolError
impl<'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 String
impl Send for FromUtf8Error
impl Send for FromUtf16Error
impl Send for ParseError
impl<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 AccessError
impl Send for SgxThreadId
impl Send for SgxThread
impl Send for sgx_tstd::ascii::EscapeDefault
impl<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 CollectionAllocErr
impl<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 RandomState
impl Send for DefaultHasher
impl<'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 Vars
impl !Send for VarsOs
impl<'a> Send for SplitPaths<'a>
impl Send for JoinPathsError
impl Send for VarError
impl Send for CString
impl Send for CStr
impl Send for NulError
impl Send for IntoStringError
impl Send for FromBytesWithNulError
impl Send for OsString
impl Send for OsStr
impl !Send for SgxFile
impl Send for sgx_tstd::sgxfs::OpenOptions
impl<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::Error
impl Send for Sink
impl Send for sgx_tstd::io::Empty
impl Send for sgx_tstd::io::Repeat
impl<T> !Send for Lazy<T>
impl Send for Stdin
impl Send for Stdout
impl Send for Stderr
impl<'a> !Send for StdoutLock<'a>
impl<'a> !Send for StderrLock<'a>
impl<'a> !Send for StdinLock<'a>
impl Send for Initializer
impl<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 ErrorKind
impl Send for SeekFrom
impl Send for CharsError
impl Send for Ipv4Addr
impl Send for Ipv6Addr
impl Send for SocketAddrV4
impl Send for SocketAddrV6
impl Send for AddrParseError
impl Send for IpAddr
impl Send for Ipv6MulticastScope
impl Send for SocketAddr
impl Send for Shutdown
impl Send for FpCategory
impl Send for ParseIntError
impl Send for ParseFloatError
impl Send for TryFromIntError
impl<T> Send for Wrapping<T> where
T: Send,impl Send for NonZeroU8
impl Send for NonZeroU16
impl Send for NonZeroU32
impl Send for NonZeroU64
impl Send for NonZeroU128
impl Send for NonZeroUsize
impl Send for sgx_tstd::os::raw::stat
impl Send for sgx_tstd::os::raw::c_void
impl<'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 PathBuf
impl Send for Path
impl Send for StripPrefixError
impl<'a> Send for Display<'a>
impl<'a> Send for Prefix<'a>
impl<'a> Send for Component<'a>
impl Send for ParsePathError
impl Send for AtomicBool
impl Send for sgx_tstd::sync::atomic::Ordering
impl Send for AtomicI8
impl Send for AtomicU8
impl Send for AtomicI16
impl Send for AtomicU16
impl Send for AtomicI32
impl Send for AtomicU32
impl Send for AtomicI64
impl Send for AtomicU64
impl Send for AtomicIsize
impl Send for AtomicUsize
impl Send for Barrier
impl Send for BarrierWaitResult
impl Send for SgxCondvar
impl Send for OnceState
impl<T> Send for PoisonError<T> where
T: Send,impl<T> Send for TryLockError<T> where
T: Send,impl Send for Duration
impl Send for Instant
impl Send for SystemTime
impl Send for SystemTimeError
impl Send for SgxThreadPolicy
impl Send for File
impl Send for Metadata
impl Send for sgx_tstd::untrusted::fs::OpenOptions
impl Send for Permissions
impl Send for FileType