Skip to main content

FusedIterator

Trait FusedIterator 

1.26.0 ยท Source
pub trait FusedIterator: Iterator { }
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.

Dyn Compatibilityยง

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementorsยง

Sourceยง

impl FusedIterator for core::ffi::c_str::Bytes<'_>

1.26.0 ยท Sourceยง

impl FusedIterator for core::str::Bytes<'_>

1.26.0 ยท Sourceยง

impl FusedIterator for CharIndices<'_>

1.26.0 ยท Sourceยง

impl FusedIterator for Chars<'_>

1.26.0 ยท Sourceยง

impl FusedIterator for EncodeUtf16<'_>

1.26.0 ยท Sourceยง

impl FusedIterator for core::char::EscapeDebug

1.26.0 ยท Sourceยง

impl FusedIterator for core::ascii::EscapeDefault

1.26.0 ยท Sourceยง

impl FusedIterator for core::char::EscapeDefault

1.26.0 ยท Sourceยง

impl FusedIterator for core::char::EscapeUnicode

1.26.0 ยท Sourceยง

impl FusedIterator for Lines<'_>

1.26.0 ยท Sourceยง

impl FusedIterator for LinesAny<'_>

1.34.0 ยท Sourceยง

impl FusedIterator for SplitAsciiWhitespace<'_>

1.26.0 ยท Sourceยง

impl FusedIterator for SplitWhitespace<'_>

Sourceยง

impl FusedIterator for ToCasefold

1.26.0 ยท Sourceยง

impl FusedIterator for ToLowercase

Sourceยง

impl FusedIterator for ToTitlecase

1.26.0 ยท Sourceยง

impl FusedIterator for ToUppercase

1.79.0 ยท Sourceยง

impl FusedIterator for Utf8Chunks<'_>

1.26.0 ยท Sourceยง

impl<'a, I, T> FusedIterator for Cloned<I>
where I: FusedIterator<Item = &'a T>, T: Clone + 'a,

1.36.0 ยท Sourceยง

impl<'a, I, T> FusedIterator for Copied<I>
where I: FusedIterator<Item = &'a T>, T: Copy + 'a,

1.26.0 ยท Sourceยง

impl<'a, P: Pattern> FusedIterator for MatchIndices<'a, P>

1.26.0 ยท Sourceยง

impl<'a, P: Pattern> FusedIterator for Matches<'a, P>

1.26.0 ยท Sourceยง

impl<'a, P: Pattern> FusedIterator for core::str::Split<'a, P>

1.51.0 ยท Sourceยง

impl<'a, P: Pattern> FusedIterator for core::str::SplitInclusive<'a, P>

1.26.0 ยท Sourceยง

impl<'a, P: Pattern> FusedIterator for core::str::SplitN<'a, P>

1.26.0 ยท Sourceยง

impl<'a, P: Pattern> FusedIterator for SplitTerminator<'a, P>

1.26.0 ยท Sourceยง

impl<'a, P> FusedIterator for RMatchIndices<'a, P>
where P: Pattern<Searcher<'a>: ReverseSearcher<'a>>,

1.26.0 ยท Sourceยง

impl<'a, P> FusedIterator for RMatches<'a, P>
where P: Pattern<Searcher<'a>: ReverseSearcher<'a>>,

1.26.0 ยท Sourceยง

impl<'a, P> FusedIterator for core::str::RSplit<'a, P>
where P: Pattern<Searcher<'a>: ReverseSearcher<'a>>,

1.26.0 ยท Sourceยง

impl<'a, P> FusedIterator for core::str::RSplitN<'a, P>
where P: Pattern<Searcher<'a>: ReverseSearcher<'a>>,

1.26.0 ยท Sourceยง

impl<'a, P> FusedIterator for RSplitTerminator<'a, P>
where P: Pattern<Searcher<'a>: ReverseSearcher<'a>>,

1.26.0 ยท Sourceยง

impl<'a, T, P> FusedIterator for core::slice::RSplitN<'a, T, P>
where P: FnMut(&T) -> bool,

1.26.0 ยท Sourceยง

impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P>
where P: FnMut(&T) -> bool,

1.26.0 ยท Sourceยง

impl<'a, T, P> FusedIterator for core::slice::SplitN<'a, T, P>
where P: FnMut(&T) -> bool,

1.26.0 ยท Sourceยง

impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P>
where P: FnMut(&T) -> bool,

1.77.0 ยท Sourceยง

impl<'a, T: 'a, P> FusedIterator for ChunkBy<'a, T, P>
where P: FnMut(&T, &T) -> bool,

1.77.0 ยท Sourceยง

impl<'a, T: 'a, P> FusedIterator for ChunkByMut<'a, T, P>
where P: FnMut(&T, &T) -> bool,

1.60.0 ยท Sourceยง

impl<'a> FusedIterator for EscapeAscii<'a>

1.34.0 ยท Sourceยง

impl<'a> FusedIterator for core::str::EscapeDebug<'a>

1.34.0 ยท Sourceยง

impl<'a> FusedIterator for core::str::EscapeDefault<'a>

1.34.0 ยท Sourceยง

impl<'a> FusedIterator for core::str::EscapeUnicode<'a>

Sourceยง

impl<'a> FusedIterator for Source<'a>

1.26.0 ยท Sourceยง

impl<A, B> FusedIterator for Chain<A, B>
where A: FusedIterator, B: FusedIterator<Item = A::Item>,

1.26.0 ยท Sourceยง

impl<A, B> FusedIterator for Zip<A, B>

1.28.0 ยท Sourceยง

impl<A, F: FnMut() -> A> FusedIterator for RepeatWith<F>

1.43.0 ยท Sourceยง

impl<A, F: FnOnce() -> A> FusedIterator for OnceWith<F>

1.26.0 ยท Sourceยง

impl<A: Clone> FusedIterator for Repeat<A>

1.82.0 ยท Sourceยง

impl<A: Clone> FusedIterator for RepeatN<A>

Sourceยง

impl<A: FusedIterator> FusedIterator for OptionFlatten<A>

1.26.0 ยท Sourceยง

impl<A: Step> FusedIterator for Range<A>

1.26.0 ยท Sourceยง

impl<A: Step> FusedIterator for RangeFrom<A>

1.96.0 ยท Sourceยง

impl<A: Step> FusedIterator for RangeFromIter<A>

1.26.0 ยท Sourceยง

impl<A: Step> FusedIterator for RangeInclusive<A>

1.95.0 ยท Sourceยง

impl<A: Step> FusedIterator for RangeInclusiveIter<A>

1.96.0 ยท Sourceยง

impl<A: Step> FusedIterator for RangeIter<A>

1.26.0 ยท Sourceยง

impl<A> FusedIterator for core::option::IntoIter<A>

1.26.0 ยท Sourceยง

impl<A> FusedIterator for core::option::Iter<'_, A>

1.26.0 ยท Sourceยง

impl<A> FusedIterator for core::option::IterMut<'_, A>

1.26.0 ยท Sourceยง

impl<B, I: FusedIterator, F> FusedIterator for FilterMap<I, F>
where F: FnMut(I::Item) -> Option<B>,

1.26.0 ยท Sourceยง

impl<B, I: FusedIterator, F> FusedIterator for Map<I, F>
where F: FnMut(I::Item) -> B,

Sourceยง

impl<I, F, R, const N: usize> FusedIterator for MapWindows<I, F, N>
where I: FusedIterator, F: FnMut(&[I::Item; N]) -> R,

1.26.0 ยท Sourceยง

impl<I, P> FusedIterator for SkipWhile<I, P>
where I: FusedIterator, P: FnMut(&I::Item) -> bool,

1.26.0 ยท Sourceยง

impl<I, P> FusedIterator for TakeWhile<I, P>
where I: FusedIterator, P: FnMut(&I::Item) -> bool,

1.26.0 ยท Sourceยง

impl<I, U, F> FusedIterator for FlatMap<I, U, F>
where I: FusedIterator, U: IntoIterator, F: FnMut(I::Item) -> U,

1.29.0 ยท Sourceยง

impl<I, U> FusedIterator for Flatten<I>
where I: FusedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, U: Iterator,

Sourceยง

impl<I, const N: usize> FusedIterator for ArrayChunks<I, N>
where I: FusedIterator,

1.26.0 ยท Sourceยง

impl<I: FusedIterator + ?Sized> FusedIterator for &mut I

1.26.0 ยท Sourceยง

impl<I: FusedIterator, F> FusedIterator for Inspect<I, F>
where F: FnMut(&I::Item),

1.26.0 ยท Sourceยง

impl<I: FusedIterator, P> FusedIterator for Filter<I, P>
where P: FnMut(&I::Item) -> bool,

1.26.0 ยท Sourceยง

impl<I: FusedIterator> FusedIterator for Peekable<I>

1.75.0 ยท Sourceยง

impl<I: Iterator<Item = u16> + FusedIterator> FusedIterator for DecodeUtf16<I>

1.26.0 ยท Sourceยง

impl<I> FusedIterator for Cycle<I>
where I: Clone + Iterator,

1.26.0 ยท Sourceยง

impl<I> FusedIterator for Enumerate<I>
where I: FusedIterator,

1.26.0 ยท Sourceยง

impl<I> FusedIterator for Fuse<I>
where I: Iterator,

1.26.0 ยท Sourceยง

impl<I> FusedIterator for Rev<I>

1.26.0 ยท Sourceยง

impl<I> FusedIterator for Skip<I>
where I: FusedIterator,

1.26.0 ยท Sourceยง

impl<I> FusedIterator for Take<I>
where I: FusedIterator,

1.34.0 ยท Sourceยง

impl<T, F> FusedIterator for Successors<T, F>
where F: FnMut(&T) -> Option<T>,

1.27.0 ยท Sourceยง

impl<T, P> FusedIterator for core::slice::RSplit<'_, T, P>
where P: FnMut(&T) -> bool,

1.27.0 ยท Sourceยง

impl<T, P> FusedIterator for RSplitMut<'_, T, P>
where P: FnMut(&T) -> bool,

1.26.0 ยท Sourceยง

impl<T, P> FusedIterator for core::slice::Split<'_, T, P>
where P: FnMut(&T) -> bool,

1.51.0 ยท Sourceยง

impl<T, P> FusedIterator for core::slice::SplitInclusive<'_, T, P>
where P: FnMut(&T) -> bool,

1.51.0 ยท Sourceยง

impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P>
where P: FnMut(&T) -> bool,

1.26.0 ยท Sourceยง

impl<T, P> FusedIterator for SplitMut<'_, T, P>
where P: FnMut(&T) -> bool,

1.94.0 ยท Sourceยง

impl<T, const N: usize> FusedIterator for ArrayWindows<'_, T, N>

1.40.0 ยท Sourceยง

impl<T, const N: usize> FusedIterator for core::array::IntoIter<T, N>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for Chunks<'_, T>

1.31.0 ยท Sourceยง

impl<T> FusedIterator for ChunksExact<'_, T>

1.31.0 ยท Sourceยง

impl<T> FusedIterator for ChunksExactMut<'_, T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for ChunksMut<'_, T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for Empty<T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for core::result::IntoIter<T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for core::result::Iter<'_, T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for core::slice::Iter<'_, T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for core::result::IterMut<'_, T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for core::slice::IterMut<'_, T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for Once<T>

1.31.0 ยท Sourceยง

impl<T> FusedIterator for RChunks<'_, T>

1.31.0 ยท Sourceยง

impl<T> FusedIterator for RChunksExact<'_, T>

1.31.0 ยท Sourceยง

impl<T> FusedIterator for RChunksExactMut<'_, T>

1.31.0 ยท Sourceยง

impl<T> FusedIterator for RChunksMut<'_, T>

1.26.0 ยท Sourceยง

impl<T> FusedIterator for Windows<'_, T>