# Trait std::iter::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.

## Implementors§

source§

### impl FusedIterator for std::ascii::EscapeDefault

source§

### impl FusedIterator for std::char::EscapeDebug

source§

### impl FusedIterator for std::char::EscapeDefault

source§

### impl FusedIterator for std::char::EscapeUnicode

source§

### impl FusedIterator for ToLowercase

source§

### impl FusedIterator for ToUppercase

1.64.0 · source§

### impl FusedIterator for Incoming<'_>

source§

### impl FusedIterator for IntoIncoming

1.62.0 · source§

### impl FusedIterator for EncodeWide<'_>

1.28.0 · source§

### impl FusedIterator for Ancestors<'_>

source§

### impl FusedIterator for Components<'_>

source§

### impl FusedIterator for std::path::Iter<'_>

source§

### impl FusedIterator for Bytes<'_>

source§

### impl FusedIterator for CharIndices<'_>

source§

### impl FusedIterator for Chars<'_>

source§

### impl FusedIterator for EncodeUtf16<'_>

source§

### impl FusedIterator for Lines<'_>

source§

### impl FusedIterator for LinesAny<'_>

1.34.0 · source§

### impl FusedIterator for SplitAsciiWhitespace<'_>

source§

### impl FusedIterator for SplitWhitespace<'_>

source§

### impl FusedIterator for Utf8Chunks<'_>

source§

### impl FusedIterator for std::string::Drain<'_>

1.60.0 · source§

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

1.34.0 · source§

### impl<'a> FusedIterator for std::str::EscapeDebug<'a>

1.34.0 · source§

### impl<'a> FusedIterator for std::str::EscapeDefault<'a>

1.34.0 · source§

### impl<'a> FusedIterator for std::str::EscapeUnicode<'a>

source§

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

1.36.0 · source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

### impl<'a, P> FusedIterator for std::str::Split<'a, P>where P: Pattern<'a>,

1.51.0 · source§

### impl<'a, P> FusedIterator for std::str::SplitInclusive<'a, P>where P: Pattern<'a>,

source§

### impl<'a, P> FusedIterator for std::str::SplitN<'a, P>where P: Pattern<'a>,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

### impl<A> FusedIterator for std::ops::Range<A>where A: Step,

source§

### impl<A> FusedIterator for RangeFrom<A>where A: Step,

source§

### impl<A> FusedIterator for RangeInclusive<A>where A: Step,

source§

### impl<A> FusedIterator for std::option::IntoIter<A>

source§

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

source§

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

source§

### impl<A> FusedIterator for Repeat<A>where A: Clone,

source§

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

source§

### impl<A, B> FusedIterator for Zip<A, B>where A: FusedIterator, B: FusedIterator,

1.43.0 · source§

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

1.28.0 · source§

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

source§

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

source§

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

source§

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

1.75.0 · source§

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

source§

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

source§

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

source§

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

source§

### impl<I> FusedIterator for Peekable<I>where I: FusedIterator,

source§

### impl<I> FusedIterator for Rev<I>where I: FusedIterator + DoubleEndedIterator,

source§

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

source§

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

source§

### impl<I, A> FusedIterator for Box<I, A>where I: FusedIterator + ?Sized, A: Allocator,

source§

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

source§

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

source§

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

source§

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

source§

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

1.29.0 · source§

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

source§

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

source§

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

source§

### impl<K> FusedIterator for std::collections::hash_set::Drain<'_, K>

source§

### impl<K> FusedIterator for std::collections::hash_set::IntoIter<K>

source§

### impl<K> FusedIterator for std::collections::hash_set::Iter<'_, K>

source§

### impl<K, F> FusedIterator for std::collections::hash_set::ExtractIf<'_, K, F>where F: FnMut(&K) -> bool,

source§

### impl<K, V> FusedIterator for std::collections::btree_map::Iter<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::btree_map::IterMut<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::btree_map::Keys<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::btree_map::Range<'_, K, V>

source§

### impl<K, V> FusedIterator for RangeMut<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::btree_map::Values<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::btree_map::ValuesMut<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::hash_map::Drain<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::hash_map::IntoIter<K, V>

1.54.0 · source§

### impl<K, V> FusedIterator for std::collections::hash_map::IntoKeys<K, V>

1.54.0 · source§

### impl<K, V> FusedIterator for std::collections::hash_map::IntoValues<K, V>

source§

### impl<K, V> FusedIterator for std::collections::hash_map::Iter<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::hash_map::IterMut<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::hash_map::Keys<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::hash_map::Values<'_, K, V>

source§

### impl<K, V> FusedIterator for std::collections::hash_map::ValuesMut<'_, K, V>

source§

### impl<K, V, A> FusedIterator for std::collections::btree_map::IntoIter<K, V, A>where A: Allocator + Clone,

1.54.0 · source§

### impl<K, V, A> FusedIterator for std::collections::btree_map::IntoKeys<K, V, A>where A: Allocator + Clone,

1.54.0 · source§

### impl<K, V, A> FusedIterator for std::collections::btree_map::IntoValues<K, V, A>where A: Allocator + Clone,

source§

### impl<K, V, F> FusedIterator for std::collections::btree_map::ExtractIf<'_, K, V, F>where F: FnMut(&K, &mut V) -> bool,

source§

### impl<K, V, F> FusedIterator for std::collections::hash_map::ExtractIf<'_, K, V, F>where F: FnMut(&K, &mut V) -> bool,

source§

### impl<T> FusedIterator for std::collections::binary_heap::Iter<'_, T>

source§

### impl<T> FusedIterator for std::collections::btree_set::Iter<'_, T>

source§

### impl<T> FusedIterator for std::collections::btree_set::Range<'_, T>

source§

### impl<T> FusedIterator for std::collections::btree_set::SymmetricDifference<'_, T>where T: Ord,

source§

### impl<T> FusedIterator for std::collections::btree_set::Union<'_, T>where T: Ord,

source§

### impl<T> FusedIterator for std::collections::linked_list::Iter<'_, T>

source§

### impl<T> FusedIterator for std::collections::linked_list::IterMut<'_, T>

source§

### impl<T> FusedIterator for std::collections::vec_deque::Iter<'_, T>

source§

### impl<T> FusedIterator for std::collections::vec_deque::IterMut<'_, T>

source§

### impl<T> FusedIterator for std::result::IntoIter<T>

source§

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

source§

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

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>

source§

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

source§

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

source§

### impl<T> FusedIterator for std::slice::IterMut<'_, 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>

source§

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

source§

### impl<T> FusedIterator for Empty<T>

source§

### impl<T> FusedIterator for Once<T>

source§

### impl<T, A> FusedIterator for std::collections::binary_heap::Drain<'_, T, A>where A: Allocator,

source§

### impl<T, A> FusedIterator for DrainSorted<'_, T, A>where T: Ord, A: Allocator,

source§

### impl<T, A> FusedIterator for std::collections::binary_heap::IntoIter<T, A>where A: Allocator,

source§

### impl<T, A> FusedIterator for IntoIterSorted<T, A>where T: Ord, A: Allocator,

source§

### impl<T, A> FusedIterator for std::collections::btree_set::Difference<'_, T, A>where T: Ord, A: Allocator + Clone,

source§

### impl<T, A> FusedIterator for std::collections::btree_set::Intersection<'_, T, A>where T: Ord, A: Allocator + Clone,

source§

### impl<T, A> FusedIterator for std::collections::btree_set::IntoIter<T, A>where A: Allocator + Clone,

source§

### impl<T, A> FusedIterator for std::collections::linked_list::IntoIter<T, A>where A: Allocator,

source§

### impl<T, A> FusedIterator for std::collections::vec_deque::Drain<'_, T, A>where A: Allocator,

source§

### impl<T, A> FusedIterator for std::collections::vec_deque::IntoIter<T, A>where A: Allocator,

source§

### impl<T, A> FusedIterator for std::vec::IntoIter<T, A>where A: Allocator,

source§

### impl<T, A, FH> FusedIterator for std::vec::Drain<'_, T, A, FH>where A: Allocator, FH: FailureHandling,

1.34.0 · source§

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

source§

### impl<T, F, A> FusedIterator for std::collections::btree_set::ExtractIf<'_, T, F, A>where A: Allocator + Clone, F: FnMut(&T) -> bool,

1.27.0 · source§

### impl<T, P> FusedIterator for std::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,

source§

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

1.51.0 · source§

### impl<T, P> FusedIterator for std::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,

source§

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

source§

### impl<T, S> FusedIterator for std::collections::hash_set::Difference<'_, T, S>where T: Eq + Hash, S: BuildHasher,

source§

### impl<T, S> FusedIterator for std::collections::hash_set::Intersection<'_, T, S>where T: Eq + Hash, S: BuildHasher,

source§

### impl<T, S> FusedIterator for std::collections::hash_set::SymmetricDifference<'_, T, S>where T: Eq + Hash, S: BuildHasher,

source§

### impl<T, S> FusedIterator for std::collections::hash_set::Union<'_, T, S>where T: Eq + Hash, S: BuildHasher,

1.40.0 · source§

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

source§

### impl<T, const N: usize> FusedIterator for std::slice::ArrayChunks<'_, T, N>

source§

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