1.0.0[−][src]Trait ndless::marker::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 Argument
impl Send for FormatSpec
impl Send for Alignment
impl Send for Count
impl Send for Position
impl Send for Decoded
impl Send for FullDecoded
impl<'a> Send for Part<'a>
impl<'a> Send for Formatted<'a>
impl Send for Sign
impl Send for Unpacked
impl Send for Sign
impl<'a> Send for Decimal<'a>
impl<'a> Send for ParseResult<'a>
impl Send for ParseFloatError
impl Send for Big32x40
impl Send for Big8x3
impl<T> Send for AtomicPtr<T>
[src]
impl Send for Waker
[src]
impl !Send for LocalWaker
[src]
Loading content...
Implementors
impl<'_, T> Send for &'_ T where
T: Sync + ?Sized,
[src]
T: Sync + ?Sized,
impl<'_, T> Send for &'_ mut T where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl<'_, T> Send for ndless::slice::Iter<'_, T> where
T: Sync,
[src]
T: Sync,
impl<'_, T> Send for ndless::slice::IterMut<'_, T> where
T: Send,
[src]
T: Send,
impl<'a> Send for ndless::string::Drain<'a>
[src]
impl<'a, T> Send for ndless::collections::linked_list::Iter<'a, T> where
T: Sync,
[src]
T: Sync,
impl<'a, T> Send for ndless::collections::linked_list::IterMut<'a, T> where
T: Send,
[src]
T: Send,
impl<'a, T> Send for ndless::collections::vec_deque::Drain<'a, T> where
T: Send,
[src]
T: Send,
impl<'a, T> Send for ndless::prelude::vec::Drain<'a, T> where
T: Send,
[src]
T: Send,
impl<T> !Send for *const T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> !Send for *mut T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> !Send for NonNull<T> where
T: ?Sized,
[src]
T: ?Sized,
NonNull
pointers are not Send
because the data they reference may be aliased.
impl<T> !Send for Rc<T> where
T: ?Sized,
[src]
T: ?Sized,
impl<T> !Send for ndless::rc::Weak<T> where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Send for Cell<T> where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl<T> Send for RefCell<T> where
T: Send + ?Sized,
[src]
T: Send + ?Sized,
impl<T> Send for LinkedList<T> where
T: Send,
[src]
T: Send,
impl<T> Send for ndless::prelude::vec::IntoIter<T> where
T: Send,
[src]
T: Send,
impl<T> Send for Arc<T> where
T: Send + Sync + ?Sized,
[src]
T: Send + Sync + ?Sized,
impl<T> Send for ndless::sync::Weak<T> where
T: Send + Sync + ?Sized,
[src]
T: Send + Sync + ?Sized,
Auto implementors
impl Send for Ordering
impl Send for CollectionAllocErr
impl Send for ndless::cty::c_void
impl Send for ndless::ffi::c_void
impl Send for ndless::fmt::Alignment
impl Send for Type
impl Send for Screen
impl Send for Key
impl Send for Button
impl Send for FpCategory
impl Send for IntErrorKind
impl Send for SearchStep
impl Send for ParseError
impl Send for TypeId
impl Send for CpuidResult
impl Send for __m128
impl Send for __m128d
impl Send for __m128i
impl Send for __m256
impl Send for __m256d
impl Send for __m256i
impl Send for __m512
impl Send for __m512d
impl Send for __m512i
impl Send for __m64
impl Send for ndless::ascii::EscapeDefault
impl Send for BorrowError
impl Send for BorrowMutError
impl Send for CharTryFromError
impl Send for DecodeUtf16Error
impl Send for EscapeDebug
impl Send for ndless::char::EscapeDefault
impl Send for EscapeUnicode
impl Send for ParseCharError
impl Send for ToLowercase
impl Send for ToUppercase
impl Send for UnicodeVersion
impl Send for CStr
impl Send for CString
impl Send for FromBytesWithNulError
impl Send for IntoStringError
impl Send for NulError
impl Send for Error
impl Send for SipHasher
impl Send for TouchpadReport
impl Send for touchpad_info_t
impl Send for PhantomPinned
impl Send for NonZeroI128
impl Send for NonZeroI16
impl Send for NonZeroI32
impl Send for NonZeroI64
impl Send for NonZeroI8
impl Send for NonZeroIsize
impl Send for NonZeroU128
impl Send for NonZeroU16
impl Send for NonZeroU32
impl Send for NonZeroU64
impl Send for NonZeroU8
impl Send for NonZeroUsize
impl Send for ParseIntError
impl Send for TryFromIntError
impl Send for RangeFull
impl Send for NoneError
impl Send for String
impl Send for ParseBoolError
impl Send for Utf8Error
impl Send for FromUtf16Error
impl Send for FromUtf8Error
impl Send for Duration
impl Send for char
impl Send for f32
impl Send for f64
impl Send for i8
impl Send for i16
impl Send for i32
impl Send for i64
impl Send for i128
impl Send for isize
impl Send for str
impl Send for str
impl Send for u8
impl Send for u16
impl Send for u32
impl Send for u64
impl Send for u128
impl Send for usize
impl<'a> !Send for VaList<'a>
impl<'a> !Send for Arguments<'a>
impl<'a> !Send for Formatter<'a>
impl<'a> Send for CharSearcher<'a>
impl<'a> Send for Bytes<'a>
impl<'a> Send for CharIndices<'a>
impl<'a> Send for Chars<'a>
impl<'a> Send for EncodeUtf16<'a>
impl<'a> Send for Lines<'a>
impl<'a> Send for LinesAny<'a>
impl<'a> Send for SplitAsciiWhitespace<'a>
impl<'a> Send for SplitWhitespace<'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, 'b> Send for CharSliceSearcher<'a, 'b>
impl<'a, 'b> Send for StrSearcher<'a, 'b>
impl<'a, A> Send for ndless::option::Iter<'a, A> where
A: Sync,
A: Sync,
impl<'a, A> Send for ndless::option::IterMut<'a, A> where
A: Send,
A: Send,
impl<'a, B: ?Sized> Send for Cow<'a, B> where
B: Sync,
<B as ToOwned>::Owned: Send,
B: Sync,
<B as ToOwned>::Owned: Send,
impl<'a, F> Send for CharPredicateSearcher<'a, F> where
F: MultiCharEq + Send,
F: MultiCharEq + Send,
impl<'a, I> Send for Splice<'a, I> where
I: Send,
<I as Iterator>::Item: Send,
I: Send,
<I as Iterator>::Item: Send,
impl<'a, K, V> Send for Entry<'a, K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<'a, K, V> Send for ndless::collections::btree_map::Iter<'a, K, V> where
K: Sync,
V: Sync,
K: Sync,
V: Sync,
impl<'a, K, V> Send for ndless::collections::btree_map::IterMut<'a, K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<'a, K, V> Send for Keys<'a, K, V> where
K: Sync,
V: Sync,
K: Sync,
V: Sync,
impl<'a, K, V> Send for OccupiedEntry<'a, K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<'a, K, V> Send for ndless::collections::btree_map::Range<'a, K, V> where
K: Sync,
V: Sync,
K: Sync,
V: Sync,
impl<'a, K, V> Send for RangeMut<'a, K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<'a, K, V> Send for VacantEntry<'a, K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<'a, K, V> Send for Values<'a, K, V> where
K: Sync,
V: Sync,
K: Sync,
V: Sync,
impl<'a, K, V> Send for ValuesMut<'a, K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<'a, P> Send for MatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for Matches<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for RMatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for RMatches<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for ndless::str::RSplit<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for ndless::str::RSplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for RSplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for ndless::str::Split<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for ndless::str::SplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for SplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
<P as Pattern<'a>>::Searcher: Send,
impl<'a, T> Send for ndless::collections::binary_heap::Drain<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for ndless::collections::binary_heap::Iter<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for PeekMut<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for Difference<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for Intersection<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for ndless::collections::btree_set::Iter<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for ndless::collections::btree_set::Range<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for SymmetricDifference<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for Union<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for ndless::collections::vec_deque::Iter<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for ndless::collections::vec_deque::IterMut<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for ndless::result::Iter<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for ndless::result::IterMut<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for Chunks<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for ChunksExact<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for ChunksExactMut<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for ChunksMut<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for RChunks<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for RChunksExact<'a, T> where
T: Sync,
T: Sync,
impl<'a, T> Send for RChunksExactMut<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for RChunksMut<'a, T> where
T: Send,
T: Send,
impl<'a, T> Send for Windows<'a, T> where
T: Sync,
T: Sync,
impl<'a, T, F> !Send for ndless::collections::linked_list::DrainFilter<'a, T, F>
impl<'a, T, F> Send for ndless::prelude::vec::DrainFilter<'a, T, F> where
F: Send,
T: Send,
F: Send,
T: Send,
impl<'a, T, P> Send for ndless::slice::RSplit<'a, T, P> where
P: Send,
T: Sync,
P: Send,
T: Sync,
impl<'a, T, P> Send for RSplitMut<'a, T, P> where
P: Send,
T: Send,
P: Send,
T: Send,
impl<'a, T, P> Send for ndless::slice::RSplitN<'a, T, P> where
P: Send,
T: Sync,
P: Send,
T: Sync,
impl<'a, T, P> Send for RSplitNMut<'a, T, P> where
P: Send,
T: Send,
P: Send,
T: Send,
impl<'a, T, P> Send for ndless::slice::Split<'a, T, P> where
P: Send,
T: Sync,
P: Send,
T: Sync,
impl<'a, T, P> Send for SplitMut<'a, T, P> where
P: Send,
T: Send,
P: Send,
T: Send,
impl<'a, T, P> Send for ndless::slice::SplitN<'a, T, P> where
P: Send,
T: Sync,
P: Send,
T: Sync,
impl<'a, T, P> Send for SplitNMut<'a, T, P> where
P: Send,
T: Send,
P: Send,
T: Send,
impl<'b, T> !Send for Ref<'b, T>
impl<'b, T> !Send for RefMut<'b, T>
impl<A> Send for Repeat<A> where
A: Send,
A: Send,
impl<A> Send for ndless::option::IntoIter<A> where
A: Send,
A: Send,
impl<A, B> Send for Chain<A, B> where
A: Send,
B: Send,
A: Send,
B: Send,
impl<A, B> Send for Zip<A, B> where
A: Send,
B: Send,
A: Send,
B: Send,
impl<F> Send for OnceWith<F> where
F: Send,
F: Send,
impl<F> Send for RepeatWith<F> where
F: Send,
F: Send,
impl<H> Send for BuildHasherDefault<H> where
H: Send,
H: Send,
impl<I> Send for DecodeUtf16<I> where
I: Send,
I: Send,
impl<I> Send for Cloned<I> where
I: Send,
I: Send,
impl<I> Send for Copied<I> where
I: Send,
I: Send,
impl<I> Send for Cycle<I> where
I: Send,
I: Send,
impl<I> Send for Enumerate<I> where
I: Send,
I: Send,
impl<I> Send for Flatten<I> where
I: Send,
<<I as Iterator>::Item as IntoIterator>::IntoIter: Send,
I: Send,
<<I as Iterator>::Item as IntoIterator>::IntoIter: Send,
impl<I> Send for Fuse<I> where
I: Send,
I: Send,
impl<I> Send for Peekable<I> where
I: Send,
<I as Iterator>::Item: Send,
I: Send,
<I as Iterator>::Item: Send,
impl<I> Send for Skip<I> where
I: Send,
I: Send,
impl<I> Send for StepBy<I> where
I: Send,
I: Send,
impl<I> Send for Take<I> where
I: Send,
I: Send,
impl<I, F> Send for FilterMap<I, F> where
F: Send,
I: Send,
F: Send,
I: Send,
impl<I, F> Send for Inspect<I, F> where
F: Send,
I: Send,
F: Send,
I: Send,
impl<I, F> Send for Map<I, F> where
F: Send,
I: Send,
F: Send,
I: Send,
impl<I, P> Send for Filter<I, P> where
I: Send,
P: Send,
I: Send,
P: Send,
impl<I, P> Send for SkipWhile<I, P> where
I: Send,
P: Send,
I: Send,
P: Send,
impl<I, P> Send for TakeWhile<I, P> where
I: Send,
P: Send,
I: Send,
P: Send,
impl<I, St, F> Send for Scan<I, St, F> where
F: Send,
I: Send,
St: Send,
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,
F: Send,
I: Send,
<U as IntoIterator>::IntoIter: Send,
impl<Idx> Send for ndless::ops::Range<Idx> where
Idx: Send,
Idx: Send,
impl<Idx> Send for RangeFrom<Idx> where
Idx: Send,
Idx: Send,
impl<Idx> Send for RangeInclusive<Idx> where
Idx: Send,
Idx: Send,
impl<Idx> Send for RangeTo<Idx> where
Idx: Send,
Idx: Send,
impl<Idx> Send for RangeToInclusive<Idx> where
Idx: Send,
Idx: Send,
impl<K, V> Send for BTreeMap<K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<K, V> Send for ndless::collections::btree_map::IntoIter<K, V> where
K: Send,
V: Send,
K: Send,
V: Send,
impl<St, F> Send for Unfold<St, F> where
F: Send,
St: Send,
F: Send,
St: Send,
impl<T> Send for Bound<T> where
T: Send,
T: Send,
impl<T> Send for Option<T> where
T: Send,
T: Send,
impl<T> Send for Reverse<T> where
T: Send,
T: Send,
impl<T> Send for BinaryHeap<T> where
T: Send,
T: Send,
impl<T> Send for ndless::collections::binary_heap::IntoIter<T> where
T: Send,
T: Send,
impl<T> Send for BTreeSet<T> where
T: Send,
T: Send,
impl<T> Send for ndless::collections::btree_set::IntoIter<T> where
T: Send,
T: Send,
impl<T> Send for ndless::collections::linked_list::IntoIter<T> where
T: Send,
T: Send,
impl<T> Send for ndless::collections::vec_deque::IntoIter<T> where
T: Send,
T: Send,
impl<T> Send for VecDeque<T> where
T: Send,
T: Send,
impl<T> Send for Empty<T> where
T: Send,
T: Send,
impl<T> Send for Once<T> where
T: Send,
T: Send,
impl<T> Send for Rev<T> where
T: Send,
T: Send,
impl<T> Send for Discriminant<T>
impl<T> Send for Wrapping<T> where
T: Send,
T: Send,
impl<T> Send for Vec<T> where
T: Send,
T: Send,
impl<T> Send for ndless::result::IntoIter<T> where
T: Send,
T: Send,
impl<T> Send for MaybeUninit<T> where
T: Send,
T: Send,
impl<T, E> Send for Result<T, E> where
E: Send,
T: Send,
E: Send,
T: Send,
impl<T, F> Send for Successors<T, F> where
F: Send,
T: Send,
F: Send,
T: Send,
impl<T: ?Sized> Send for UnsafeCell<T> where
T: Send,
T: Send,
impl<T: ?Sized> Send for PhantomData<T> where
T: Send,
T: Send,
impl<T: ?Sized> Send for ManuallyDrop<T> where
T: Send,
T: Send,
impl<T: ?Sized> Send for Box<T> where
T: Send,
T: Send,
impl<Y, R> Send for GeneratorState<Y, R> where
R: Send,
Y: Send,
R: Send,
Y: Send,