core::iter::FusedIterator - Rust
Description: API documentation for the Rust `FusedIterator` trait in crate `core`.
Keywords: rust, rustlang, rust-lang, FusedIterator

# 1.26.0[−][src]Trait core::iter::FusedIterator

    pub trait FusedIterator: Iterator { }

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 core::ascii::EscapeDefault`[src]

### `impl FusedIterator for core::char::EscapeDebug`[src]

### `impl FusedIterator for core::char::EscapeDefault`[src]

### `impl FusedIterator for core::char::EscapeUnicode`[src]

### `impl FusedIterator for ToLowercase`[src]

### `impl FusedIterator for ToUppercase`[src]

### `impl<'_> FusedIterator for Bytes<'_>`[src]

### `impl<'_> FusedIterator for CharIndices<'_>`[src]

### `impl<'_> FusedIterator for Chars<'_>`[src]

### `impl<'_> FusedIterator for EncodeUtf16<'_>`[src]

### `impl<'_> FusedIterator for Lines<'_>`[src]

### `impl<'_> FusedIterator for LinesAny<'_>`[src]

### `impl<'_> FusedIterator for SplitAsciiWhitespace<'_>`[src]

### `impl<'_> FusedIterator for SplitWhitespace<'_>`[src]

### `impl<'a> FusedIterator for core::str::EscapeDebug<'a>`[src]

### `impl<'a> FusedIterator for core::str::EscapeDefault<'a>`[src]

### `impl<'a> FusedIterator for core::str::EscapeUnicode<'a>`[src]

### `impl<'a, I, T: 'a> FusedIterator for Cloned<I> where
I: FusedIterator<Item = &'a T>,
T: Clone,` [src]

### `impl<'a, I, T: 'a> FusedIterator for Copied<I> where
I: FusedIterator<Item = &'a T>,
T: Copy,` [src]

### `impl<'a, P> FusedIterator for RMatchIndices<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,` [src]

### `impl<'a, P> FusedIterator for RMatches<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,` [src]

### `impl<'a, P> FusedIterator for core::str::RSplit<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,` [src]

### `impl<'a, P> FusedIterator for core::str::RSplitN<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,` [src]

### `impl<'a, P> FusedIterator for RSplitTerminator<'a, P> where
P: Pattern<'a, Searcher: ReverseSearcher<'a>>,` [src]

### `impl<'a, P: Pattern<'a>> FusedIterator for MatchIndices<'a, P>`[src]

### `impl<'a, P: Pattern<'a>> FusedIterator for Matches<'a, P>`[src]

### `impl<'a, P: Pattern<'a>> FusedIterator for core::str::Split<'a, P>`[src]

### `impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitInclusive<'a, P>`[src]

### `impl<'a, P: Pattern<'a>> FusedIterator for core::str::SplitN<'a, P>`[src]

### `impl<'a, P: Pattern<'a>> FusedIterator for SplitTerminator<'a, P>`[src]

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

### `impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,` [src]

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

### `impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,` [src]

### `impl<A> FusedIterator for core::option::IntoIter<A>`[src]

### `impl<A, '_> FusedIterator for core::option::Iter<'_, A>`[src]

### `impl<A, '_> FusedIterator for core::option::IterMut<'_, A>`[src]

### `impl<A, B> FusedIterator for Chain<A, B> where
A: FusedIterator,
B: FusedIterator<Item = A::Item>,` [src]

### `impl<A, B> FusedIterator for Zip<A, B> where
A: FusedIterator,
B: FusedIterator,` [src]

### `impl<A, F: FnMut() -> A> FusedIterator for RepeatWith<F>`[src]

### `impl<A, F: FnOnce() -> A> FusedIterator for OnceWith<F>`[src]

### `impl<A: Clone> FusedIterator for Repeat<A>`[src]

### `impl<A: Step> FusedIterator for Range<A>`[src]

### `impl<A: Step> FusedIterator for RangeFrom<A>`[src]

### `impl<A: Step> FusedIterator for RangeInclusive<A>`[src]

### `impl<B, I: FusedIterator, F> FusedIterator for FilterMap<I, F> where
F: FnMut(I::Item) -> Option<B>,` [src]

### `impl<B, I: FusedIterator, F> FusedIterator for Map<I, F> where
F: FnMut(I::Item) -> B,` [src]

### `impl<I> FusedIterator for Cycle<I> where
I: Clone + Iterator,` [src]

### `impl<I> FusedIterator for Enumerate<I> where
I: FusedIterator,` [src]

### `impl<I> FusedIterator for Fuse<I> where
I: Iterator,` [src]

### `impl<I> FusedIterator for Rev<I> where
I: FusedIterator + DoubleEndedIterator,` [src]

### `impl<I> FusedIterator for Skip<I> where
I: FusedIterator,` [src]

### `impl<I> FusedIterator for Take<I> where
I: FusedIterator,` [src]

### `impl<I, P> FusedIterator for SkipWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool,` [src]

### `impl<I, P> FusedIterator for TakeWhile<I, P> where
I: FusedIterator,
P: FnMut(&I::Item) -> bool,` [src]

### `impl<I, U> FusedIterator for Flatten<I> where
I: FusedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
U: Iterator,` [src]

### `impl<I, U, F> FusedIterator for FlatMap<I, U, F> where
I: FusedIterator,
U: IntoIterator,
F: FnMut(I::Item) -> U,` [src]

### `impl<I: FusedIterator + ?Sized, '_> FusedIterator for &'_ mut I`[src]

### `impl<I: FusedIterator> FusedIterator for Peekable<I>`[src]

### `impl<I: FusedIterator, F> FusedIterator for Inspect<I, F> where
F: FnMut(&I::Item),` [src]

### `impl<I: FusedIterator, P> FusedIterator for Filter<I, P> where
P: FnMut(&I::Item) -> bool,` [src]

### `impl<T> FusedIterator for Empty<T>`[src]

### `impl<T> FusedIterator for Once<T>`[src]

### `impl<T> FusedIterator for core::result::IntoIter<T>`[src]

### `impl<T, '_> FusedIterator for core::result::Iter<'_, T>`[src]

### `impl<T, '_> FusedIterator for core::result::IterMut<'_, T>`[src]

### `impl<T, '_> FusedIterator for Chunks<'_, T>`[src]

### `impl<T, '_> FusedIterator for ChunksExact<'_, T>`[src]

### `impl<T, '_> FusedIterator for ChunksExactMut<'_, T>`[src]

### `impl<T, '_> FusedIterator for ChunksMut<'_, T>`[src]

### `impl<T, '_> FusedIterator for core::slice::Iter<'_, T>`[src]

### `impl<T, '_> FusedIterator for core::slice::IterMut<'_, T>`[src]

### `impl<T, '_> FusedIterator for RChunks<'_, T>`[src]

### `impl<T, '_> FusedIterator for RChunksExact<'_, T>`[src]

### `impl<T, '_> FusedIterator for RChunksExactMut<'_, T>`[src]

### `impl<T, '_> FusedIterator for RChunksMut<'_, T>`[src]

### `impl<T, '_> FusedIterator for Windows<'_, T>`[src]

### `impl<T, F> FusedIterator for Successors<T, F> where
F: FnMut(&T) -> Option<T>,` [src]

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

### `impl<T, P, '_> FusedIterator for RSplitMut<'_, T, P> where
P: FnMut(&T) -> bool,` [src]

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

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

### `impl<T, P, '_> FusedIterator for SplitInclusiveMut<'_, T, P> where
P: FnMut(&T) -> bool,` [src]

### `impl<T, P, '_> FusedIterator for SplitMut<'_, T, P> where
P: FnMut(&T) -> bool,` [src]

### `impl<T, const N: usize> FusedIterator for core::array::IntoIter<T, N>`[src]

### `impl<T, const N: usize, '_> FusedIterator for ArrayChunks<'_, T, N>`[src]

Loading content...