pub trait FusedIterator: Iterator { }
Available on crate feature
dep_bytemuck
only.Expand description
An iterator that always continues to yield None
when exhausted.
Calling next on a fused iterator that has returned None
once is guaranteed
to return None
again. This trait should be implemented by all iterators
that behave this way because it allows optimizing Iterator::fuse()
.
Note: In general, you should not use FusedIterator
in generic bounds if
you need a fused iterator. Instead, you should just call Iterator::fuse()
on the iterator. If the iterator is already fused, the additional Fuse
wrapper will be a no-op with no performance penalty.
Implementors§
impl FusedIterator for devela::_core::ascii::EscapeDefault
impl FusedIterator for devela::_core::char::EscapeDebug
impl FusedIterator for devela::_core::char::EscapeDefault
impl FusedIterator for devela::_core::char::EscapeUnicode
impl FusedIterator for ToLowercase
impl FusedIterator for ToUppercase
impl FusedIterator for devela::_core::ffi::c_str::Bytes<'_>
impl FusedIterator for devela::_core::str::Bytes<'_>
impl FusedIterator for CharIndices<'_>
impl FusedIterator for EncodeUtf16<'_>
impl FusedIterator for Lines<'_>
impl FusedIterator for LinesAny<'_>
impl FusedIterator for SplitAsciiWhitespace<'_>
impl FusedIterator for SplitWhitespace<'_>
impl FusedIterator for Utf8Chunks<'_>
impl FusedIterator for devela::all::IterPath<'_>
impl FusedIterator for Ancestors<'_>
impl FusedIterator for Components<'_>
impl FusedIterator for Chars<'_>
impl FusedIterator for devela::_dep::_alloc::string::Drain<'_>
impl FusedIterator for IntoChars
impl FusedIterator for Incoming<'_>
impl FusedIterator for IntoIncoming
impl FusedIterator for ChunkRawIter<'_>
impl FusedIterator for WeekdaysForward
impl FusedIterator for WeekdaysReverse
impl FusedIterator for ArrayIntoIter
impl FusedIterator for ArrayIter<'_>
impl FusedIterator for BorrowedTupleIterator<'_, '_>
impl FusedIterator for BoundListIterator<'_>
impl FusedIterator for BoundTupleIterator<'_>
impl FusedIterator for AncillaryDrain<'_>
impl<'a> FusedIterator for Source<'a>
impl<'a> FusedIterator for EscapeAscii<'a>
impl<'a> FusedIterator for devela::_core::str::EscapeDebug<'a>
impl<'a> FusedIterator for devela::_core::str::EscapeDefault<'a>
impl<'a> FusedIterator for devela::_core::str::EscapeUnicode<'a>
impl<'a> FusedIterator for ChunkIter<'a>
impl<'a, 'bump> FusedIterator for devela::_dep::bumpalo::collections::string::Drain<'a, 'bump>
impl<'a, 'bump, T> FusedIterator for devela::_dep::bumpalo::collections::vec::Drain<'a, 'bump, T>
impl<'a, 'h> FusedIterator for devela::_dep::memchr::arch::x86_64::avx2::memchr::OneIter<'a, 'h>
impl<'a, 'h> FusedIterator for devela::_dep::memchr::arch::x86_64::avx2::memchr::ThreeIter<'a, 'h>
impl<'a, 'h> FusedIterator for devela::_dep::memchr::arch::x86_64::avx2::memchr::TwoIter<'a, 'h>
impl<'a, 'h> FusedIterator for devela::_dep::memchr::arch::x86_64::sse2::memchr::OneIter<'a, 'h>
impl<'a, 'h> FusedIterator for devela::_dep::memchr::arch::x86_64::sse2::memchr::ThreeIter<'a, 'h>
impl<'a, 'h> FusedIterator for devela::_dep::memchr::arch::x86_64::sse2::memchr::TwoIter<'a, 'h>
impl<'a, I> FusedIterator for devela::_dep::bumpalo::boxed::Box<'a, I>where
I: FusedIterator + ?Sized,
impl<'a, I, T> FusedIterator for Cloned<I>
impl<'a, I, T> FusedIterator for Copied<I>
impl<'a, P> FusedIterator for MatchIndices<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for devela::_core::str::Matches<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for RMatchIndices<'a, P>
impl<'a, P> FusedIterator for RMatches<'a, P>
impl<'a, P> FusedIterator for devela::_core::str::RSplit<'a, P>
impl<'a, P> FusedIterator for devela::_core::str::RSplitN<'a, P>
impl<'a, P> FusedIterator for RSplitTerminator<'a, P>
impl<'a, P> FusedIterator for devela::_core::str::Split<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for devela::_core::str::SplitInclusive<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for devela::_core::str::SplitN<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for SplitTerminator<'a, P>where
P: Pattern,
impl<'a, T> FusedIterator for Drain<'a, T>where
T: Array,
impl<'a, T, P> FusedIterator for ChunkBy<'a, T, P>
impl<'a, T, P> FusedIterator for ChunkByMut<'a, T, P>
impl<'a, T, P> FusedIterator for devela::_core::slice::RSplitN<'a, T, P>
impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P>
impl<'a, T, P> FusedIterator for devela::_core::slice::SplitN<'a, T, P>
impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P>
impl<'bump, T> FusedIterator for devela::_dep::bumpalo::collections::vec::IntoIter<'bump, T>where
T: 'bump,
impl<'c, 'h> FusedIterator for SubCaptureMatches<'c, 'h>
impl<'h> FusedIterator for Memchr2<'h>
impl<'h> FusedIterator for Memchr3<'h>
impl<'h> FusedIterator for Memchr<'h>
impl<'r> FusedIterator for CaptureNames<'r>
impl<'r, 'h> FusedIterator for CaptureMatches<'r, 'h>
impl<'r, 'h> FusedIterator for devela::_dep::regex_lite::Matches<'r, 'h>
impl<'r, 't> FusedIterator for devela::_dep::regex_lite::Split<'r, 't>
impl<'r, 't> FusedIterator for devela::_dep::regex_lite::SplitN<'r, 't>
impl<'t> FusedIterator for TimeZoneFollowingTransitions<'t>
impl<'t> FusedIterator for TimeZonePrecedingTransitions<'t>
impl<A> FusedIterator for RepeatN<A>where
A: Clone,
impl<A> FusedIterator for devela::_core::option::IntoIter<A>
impl<A> FusedIterator for devela::_core::option::Iter<'_, A>
impl<A> FusedIterator for devela::_core::option::IterMut<'_, A>
impl<A> FusedIterator for IterRange<A>where
A: Step,
impl<A> FusedIterator for IterRangeFrom<A>where
A: Step,
impl<A> FusedIterator for IterRangeInclusive<A>where
A: Step,
impl<A> FusedIterator for Repeat<A>where
A: Clone,
impl<A> FusedIterator for devela::all::Range<A>where
A: Step,
impl<A> FusedIterator for RangeFrom<A>where
A: Step,
impl<A> FusedIterator for RangeInclusive<A>where
A: Step,
impl<A> FusedIterator for IntoIter<A>where
A: Array,
impl<A, B> FusedIterator for Chain<A, B>
impl<A, B> FusedIterator for Zip<A, B>where
A: FusedIterator,
B: FusedIterator,
impl<A, F> FusedIterator for OnceWith<F>where
F: FnOnce() -> A,
impl<A, F> FusedIterator for RepeatWith<F>where
F: FnMut() -> A,
impl<B, I, F> FusedIterator for FilterMap<I, F>
impl<B, I, F> FusedIterator for Map<I, F>
impl<I> FusedIterator for &mut Iwhere
I: FusedIterator + ?Sized,
impl<I> FusedIterator for DecodeUtf16<I>
impl<I> FusedIterator for Intersperse<I>
impl<I> FusedIterator for Cycle<I>
impl<I> FusedIterator for Enumerate<I>where
I: FusedIterator,
impl<I> FusedIterator for Fuse<I>where
I: Iterator,
impl<I> FusedIterator for Peekable<I>where
I: FusedIterator,
impl<I> FusedIterator for Rev<I>where
I: FusedIterator + DoubleEndedIterator,
impl<I> FusedIterator for Skip<I>where
I: FusedIterator,
impl<I> FusedIterator for Take<I>where
I: FusedIterator,
impl<I, A> FusedIterator for devela::all::Box<I, A>
impl<I, F> FusedIterator for Inspect<I, F>
impl<I, F, R, const N: usize> FusedIterator for MapWindows<I, F, N>
impl<I, G> FusedIterator for IntersperseWith<I, G>
impl<I, P> FusedIterator for Filter<I, P>
impl<I, P> FusedIterator for SkipWhile<I, P>
impl<I, P> FusedIterator for TakeWhile<I, P>
impl<I, U> FusedIterator for Flatten<I>where
I: FusedIterator,
<I as Iterator>::Item: IntoIterator<IntoIter = U, Item = <U as Iterator>::Item>,
U: Iterator,
impl<I, U, F> FusedIterator for FlatMap<I, U, F>
impl<I, const N: usize> FusedIterator for devela::_core::iter::ArrayChunks<I, N>where
I: FusedIterator,
impl<K> FusedIterator for devela::_dep::_std::collections::hash_set::Drain<'_, K>
impl<K> FusedIterator for devela::_dep::_std::collections::hash_set::IntoIter<K>
impl<K> FusedIterator for devela::_dep::_std::collections::hash_set::Iter<'_, K>
impl<K> FusedIterator for devela::_dep::hashbrown::hash_set::Iter<'_, K>
impl<K, A> FusedIterator for devela::_dep::hashbrown::hash_set::Drain<'_, K, A>where
A: Allocator,
impl<K, A> FusedIterator for devela::_dep::hashbrown::hash_set::IntoIter<K, A>where
A: Allocator,
impl<K, F> FusedIterator for devela::_dep::_std::collections::hash_set::ExtractIf<'_, K, F>
impl<K, F, A> FusedIterator for devela::_dep::hashbrown::hash_set::ExtractIf<'_, K, F, A>
impl<K, V> FusedIterator for devela::_dep::_alloc::collections::btree_map::Iter<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_alloc::collections::btree_map::IterMut<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_alloc::collections::btree_map::Keys<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_alloc::collections::btree_map::Range<'_, K, V>
impl<K, V> FusedIterator for RangeMut<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_alloc::collections::btree_map::Values<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_alloc::collections::btree_map::ValuesMut<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::Drain<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::IntoIter<K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::IntoKeys<K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::IntoValues<K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::Iter<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::IterMut<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::Keys<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::Values<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::_std::collections::hash_map::ValuesMut<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::hashbrown::hash_map::Iter<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::hashbrown::hash_map::IterMut<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::hashbrown::hash_map::Keys<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::hashbrown::hash_map::Values<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::hashbrown::hash_map::ValuesMut<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::rkyv::collections::swiss_table::index_map::Iter<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::rkyv::collections::swiss_table::index_map::Keys<'_, K, V>
impl<K, V> FusedIterator for devela::_dep::rkyv::collections::swiss_table::index_map::Values<'_, K, V>
impl<K, V, A> FusedIterator for devela::_dep::_alloc::collections::btree_map::IntoIter<K, V, A>
impl<K, V, A> FusedIterator for devela::_dep::_alloc::collections::btree_map::IntoKeys<K, V, A>
impl<K, V, A> FusedIterator for devela::_dep::_alloc::collections::btree_map::IntoValues<K, V, A>
impl<K, V, A> FusedIterator for devela::_dep::hashbrown::hash_map::Drain<'_, K, V, A>where
A: Allocator,
impl<K, V, A> FusedIterator for devela::_dep::hashbrown::hash_map::IntoIter<K, V, A>where
A: Allocator,
impl<K, V, A> FusedIterator for devela::_dep::hashbrown::hash_map::IntoKeys<K, V, A>where
A: Allocator,
impl<K, V, A> FusedIterator for devela::_dep::hashbrown::hash_map::IntoValues<K, V, A>where
A: Allocator,
impl<K, V, F> FusedIterator for devela::_dep::_alloc::collections::btree_map::ExtractIf<'_, K, V, F>
impl<K, V, F> FusedIterator for devela::_dep::_std::collections::hash_map::ExtractIf<'_, K, V, F>
impl<K, V, F> FusedIterator for devela::_dep::hashbrown::hash_map::ExtractIf<'_, K, V, F>
impl<K, V, H> FusedIterator for devela::_dep::rkyv::collections::swiss_table::map::Iter<'_, K, V, H>
impl<K, V, H> FusedIterator for devela::_dep::rkyv::collections::swiss_table::map::IterMut<'_, K, V, H>
impl<K, V, H> FusedIterator for devela::_dep::rkyv::collections::swiss_table::map::Keys<'_, K, V, H>
impl<K, V, H> FusedIterator for devela::_dep::rkyv::collections::swiss_table::map::Values<'_, K, V, H>
impl<K, V, H> FusedIterator for devela::_dep::rkyv::collections::swiss_table::map::ValuesMut<'_, K, V, H>
impl<L, R> FusedIterator for Either<L, R>
impl<L, R> FusedIterator for IterEither<L, R>where
L: FusedIterator,
R: FusedIterator,
impl<T> FusedIterator for devela::_core::result::IntoIter<T>
impl<T> FusedIterator for devela::_core::result::Iter<'_, T>
impl<T> FusedIterator for devela::_core::result::IterMut<'_, T>
impl<T> FusedIterator for Chunks<'_, T>
impl<T> FusedIterator for ChunksExact<'_, T>
impl<T> FusedIterator for ChunksExactMut<'_, T>
impl<T> FusedIterator for ChunksMut<'_, T>
impl<T> FusedIterator for devela::_core::slice::Iter<'_, T>
impl<T> FusedIterator for devela::_core::slice::IterMut<'_, T>
impl<T> FusedIterator for RChunks<'_, T>
impl<T> FusedIterator for RChunksExact<'_, T>
impl<T> FusedIterator for RChunksExactMut<'_, T>
impl<T> FusedIterator for RChunksMut<'_, T>
impl<T> FusedIterator for Windows<'_, T>
impl<T> FusedIterator for Empty<T>
impl<T> FusedIterator for Once<T>
impl<T> FusedIterator for devela::_dep::_alloc::collections::binary_heap::Iter<'_, T>
impl<T> FusedIterator for devela::_dep::_alloc::collections::btree_set::Iter<'_, T>
impl<T> FusedIterator for devela::_dep::_alloc::collections::btree_set::Range<'_, T>
impl<T> FusedIterator for devela::_dep::_alloc::collections::btree_set::SymmetricDifference<'_, T>where
T: Ord,
impl<T> FusedIterator for devela::_dep::_alloc::collections::btree_set::Union<'_, T>where
T: Ord,
impl<T> FusedIterator for devela::_dep::_alloc::collections::linked_list::Iter<'_, T>
impl<T> FusedIterator for devela::_dep::_alloc::collections::linked_list::IterMut<'_, T>
impl<T> FusedIterator for devela::_dep::_alloc::collections::vec_deque::Iter<'_, T>
impl<T> FusedIterator for devela::_dep::_alloc::collections::vec_deque::IterMut<'_, T>
impl<T> FusedIterator for devela::_dep::hashbrown::hash_table::Iter<'_, T>
impl<T> FusedIterator for IterHash<'_, T>
impl<T> FusedIterator for IterHashMut<'_, T>
impl<T> FusedIterator for devela::_dep::hashbrown::hash_table::IterMut<'_, T>
impl<T> FusedIterator for AncillaryIter<'_, T>
impl<T> FusedIterator for ReadChunkIntoIter<'_, T>
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::binary_heap::Drain<'_, T, A>where
A: Allocator,
impl<T, A> FusedIterator for DrainSorted<'_, T, A>
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::binary_heap::IntoIter<T, A>where
A: Allocator,
impl<T, A> FusedIterator for IntoIterSorted<T, A>
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::btree_set::Difference<'_, T, A>
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::btree_set::Intersection<'_, T, A>
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::btree_set::IntoIter<T, A>
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::linked_list::IntoIter<T, A>where
A: Allocator,
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::vec_deque::Drain<'_, T, A>where
A: Allocator,
impl<T, A> FusedIterator for devela::_dep::_alloc::collections::vec_deque::IntoIter<T, A>where
A: Allocator,
impl<T, A> FusedIterator for devela::_dep::_alloc::vec::Drain<'_, T, A>where
A: Allocator,
impl<T, A> FusedIterator for devela::_dep::_alloc::vec::IntoIter<T, A>where
A: Allocator,
impl<T, A> FusedIterator for devela::_dep::hashbrown::hash_table::Drain<'_, T, A>where
A: Allocator,
impl<T, A> FusedIterator for devela::_dep::hashbrown::hash_table::IntoIter<T, A>where
A: Allocator,
impl<T, F> FusedIterator for Successors<T, F>
impl<T, F, A> FusedIterator for devela::_dep::_alloc::collections::btree_set::ExtractIf<'_, T, F, A>
impl<T, F, A> FusedIterator for devela::_dep::hashbrown::hash_table::ExtractIf<'_, T, F, A>
impl<T, P> FusedIterator for devela::_core::slice::RSplit<'_, T, P>
impl<T, P> FusedIterator for RSplitMut<'_, T, P>
impl<T, P> FusedIterator for devela::_core::slice::Split<'_, T, P>
impl<T, P> FusedIterator for devela::_core::slice::SplitInclusive<'_, T, P>
impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P>
impl<T, P> FusedIterator for SplitMut<'_, T, P>
impl<T, S> FusedIterator for devela::_dep::_std::collections::hash_set::Difference<'_, T, S>
impl<T, S> FusedIterator for devela::_dep::_std::collections::hash_set::Intersection<'_, T, S>
impl<T, S> FusedIterator for devela::_dep::_std::collections::hash_set::SymmetricDifference<'_, T, S>
impl<T, S> FusedIterator for devela::_dep::_std::collections::hash_set::Union<'_, T, S>
impl<T, S, A> FusedIterator for devela::_dep::hashbrown::hash_set::Difference<'_, T, S, A>
impl<T, S, A> FusedIterator for devela::_dep::hashbrown::hash_set::Intersection<'_, T, S, A>
impl<T, S, A> FusedIterator for devela::_dep::hashbrown::hash_set::SymmetricDifference<'_, T, S, A>
impl<T, S, A> FusedIterator for devela::_dep::hashbrown::hash_set::Union<'_, T, S, A>
impl<T, const N: usize> FusedIterator for devela::_core::slice::ArrayChunks<'_, T, N>
impl<T, const N: usize> FusedIterator for ArrayChunksMut<'_, T, N>
impl<T, const N: usize> FusedIterator for devela::all::ArrayIntoIter<T, N>
impl<_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11> FusedIterator for TupleIter<_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11>
Available on crate feature
_tuple
only.impl<_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11> FusedIterator for TupleIterMut<'_, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11>
Available on crate feature
_tuple
only.