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§
impl FusedIterator for rustmax::std::path::Ancestors<'_>
impl FusedIterator for AnsiCodeIterator<'_>
impl FusedIterator for rustmax::core::ffi::c_str::Bytes<'_>
impl FusedIterator for rustmax::core::str::Bytes<'_>
impl FusedIterator for rustmax::core::str::CharIndices<'_>
impl FusedIterator for Chars<'_>
impl FusedIterator for Components<'_>
impl FusedIterator for DateIter
impl FusedIterator for DateSeries
impl FusedIterator for DateTimeSeries
impl FusedIterator for rustmax::alloc::string::Drain<'_>
impl FusedIterator for EncodeUtf16<'_>
impl FusedIterator for ErrorReportingUtf8Chars<'_>
impl FusedIterator for rustmax::core::char::EscapeDebug
impl FusedIterator for rustmax::core::ascii::EscapeDefault
impl FusedIterator for rustmax::core::char::EscapeDefault
impl FusedIterator for rustmax::core::char::EscapeUnicode
impl FusedIterator for Fds<'_, '_>
impl FusedIterator for Incoming<'_>
impl FusedIterator for IntoChars
impl FusedIterator for IntoIncoming
impl FusedIterator for rustmax::serde_json::map::IntoIter
impl FusedIterator for rustmax::walkdir::IntoIter
impl FusedIterator for rustmax::serde_json::map::IntoValues
impl FusedIterator for IpAddrRange
impl FusedIterator for IpSubnets
impl FusedIterator for Ipv4AddrRange
impl FusedIterator for Ipv4Subnets
impl FusedIterator for Ipv6AddrRange
impl FusedIterator for Ipv6Subnets
impl FusedIterator for rustmax::std::path::Iter<'_>
impl FusedIterator for rustmax::core::str::Lines<'_>
impl FusedIterator for LinesAny<'_>
impl FusedIterator for MonthIter
impl FusedIterator for NaiveDateDaysIterator
impl FusedIterator for NaiveDateWeeksIterator
impl FusedIterator for time::iter::Rev<MonthIter>
impl FusedIterator for time::iter::Rev<WeekdayIter>
impl FusedIterator for rustmax::regex::bytes::SetMatchesIntoIter
impl FusedIterator for rustmax::regex::SetMatchesIntoIter
impl FusedIterator for rustmax::core::slice::SplitAsciiWhitespace<'_>
impl FusedIterator for rustmax::core::str::SplitAsciiWhitespace<'_>
impl FusedIterator for SplitWhitespace<'_>
impl FusedIterator for TimeSeries
impl FusedIterator for TimestampSeries
impl FusedIterator for ToCasefold
impl FusedIterator for ToLowercase
impl FusedIterator for ToTitlecase
impl FusedIterator for ToUppercase
impl FusedIterator for TypedAncestors<'_>
impl FusedIterator for TypedComponents<'_>
impl FusedIterator for TypedIter<'_>
impl FusedIterator for num_bigint::biguint::iter::U32Digits<'_>
impl FusedIterator for rustmax::num_bigint::U32Digits<'_>
impl FusedIterator for num_bigint::biguint::iter::U64Digits<'_>
impl FusedIterator for rustmax::num_bigint::U64Digits<'_>
impl FusedIterator for UnixComponents<'_>
impl FusedIterator for Utf8CharIndices<'_>
impl FusedIterator for Utf8Chars<'_>
impl FusedIterator for rustmax::core::str::Utf8Chunks<'_>
impl FusedIterator for Utf8Sequences
impl FusedIterator for Utf8TypedAncestors<'_>
impl FusedIterator for Utf8TypedComponents<'_>
impl FusedIterator for Utf8TypedIter<'_>
impl FusedIterator for Utf8UnixComponents<'_>
impl FusedIterator for Utf8WindowsComponents<'_>
impl FusedIterator for Walk
impl FusedIterator for WeekdayIter
impl FusedIterator for rustmax::jiff::civil::WeekdaysForward
impl FusedIterator for rustmax::jiff::__jcore::civil::WeekdaysForward
impl FusedIterator for rustmax::jiff::civil::WeekdaysReverse
impl FusedIterator for rustmax::jiff::__jcore::civil::WeekdaysReverse
impl FusedIterator for WindowsComponents<'_>
impl FusedIterator for ZonedSeries
impl<'a, 'h> FusedIterator for rustmax::memchr::arch::x86_64::avx2::memchr::OneIter<'a, 'h>
impl<'a, 'h> FusedIterator for rustmax::memchr::arch::x86_64::sse2::memchr::OneIter<'a, 'h>
impl<'a, 'h> FusedIterator for rustmax::memchr::arch::x86_64::avx2::memchr::ThreeIter<'a, 'h>
impl<'a, 'h> FusedIterator for rustmax::memchr::arch::x86_64::sse2::memchr::ThreeIter<'a, 'h>
impl<'a, 'h> FusedIterator for rustmax::memchr::arch::x86_64::avx2::memchr::TwoIter<'a, 'h>
impl<'a, 'h> FusedIterator for rustmax::memchr::arch::x86_64::sse2::memchr::TwoIter<'a, 'h>
impl<'a, I, T> FusedIterator for Cloned<I>
impl<'a, I, T> FusedIterator for Copied<I>
impl<'a, K, V> FusedIterator for phf::map::Entries<'a, K, V>
impl<'a, K, V> FusedIterator for phf::ordered_map::Entries<'a, K, V>
impl<'a, K, V> FusedIterator for phf::map::Keys<'a, K, V>
impl<'a, K, V> FusedIterator for phf::ordered_map::Keys<'a, K, V>
impl<'a, K, V> FusedIterator for phf::map::Values<'a, K, V>
impl<'a, K, V> FusedIterator for phf::ordered_map::Values<'a, K, V>
impl<'a, P> FusedIterator for MatchIndices<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for rustmax::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 rustmax::core::str::RSplit<'a, P>
impl<'a, P> FusedIterator for rustmax::core::str::RSplitN<'a, P>
impl<'a, P> FusedIterator for RSplitTerminator<'a, P>
impl<'a, P> FusedIterator for rustmax::core::str::Split<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for rustmax::core::str::SplitInclusive<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for rustmax::core::str::SplitN<'a, P>where
P: Pattern,
impl<'a, P> FusedIterator for SplitTerminator<'a, P>where
P: Pattern,
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 rustmax::core::slice::RSplitN<'a, T, P>
impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P>
impl<'a, T, P> FusedIterator for rustmax::core::slice::SplitN<'a, T, P>
impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P>
impl<'a, T> FusedIterator for ArrayVecDrain<'a, T>where
T: 'a + Default,
impl<'a, T> FusedIterator for rustmax::http::header::Drain<'a, T>
impl<'a, T> FusedIterator for smallvec::Drain<'a, T>where
T: Array,
impl<'a, T> FusedIterator for rustmax::http::header::Iter<'a, T>
impl<'a, T> FusedIterator for phf::ordered_set::Iter<'a, T>
impl<'a, T> FusedIterator for phf::set::Iter<'a, T>
impl<'a, T> FusedIterator for rustmax::cxx::vector::Iter<'a, T>where
T: VectorElement,
impl<'a, T> FusedIterator for typed_path::common::non_utf8::iter::Iter<'a, T>where
T: for<'enc> Encoding + 'a,
impl<'a, T> FusedIterator for rustmax::http::header::IterMut<'a, T>
impl<'a, T> FusedIterator for rustmax::cxx::vector::IterMut<'a, T>where
T: VectorElement,
impl<'a, T> FusedIterator for rustmax::http::header::Keys<'a, T>
impl<'a, T> FusedIterator for Utf8Iter<'a, T>where
T: Utf8Encoding + 'a,
impl<'a, T> FusedIterator for ValueDrain<'a, T>
impl<'a, T> FusedIterator for ValueIter<'a, T>
impl<'a, T> FusedIterator for ValueIterMut<'a, T>
impl<'a, T> FusedIterator for rustmax::http::header::Values<'a, T>
impl<'a, T> FusedIterator for rustmax::http::header::ValuesMut<'a, T>
impl<'a, const MIN_ALIGN: usize> FusedIterator for ChunkIter<'a, MIN_ALIGN>
impl<'a> FusedIterator for bstr::ext_slice::Bytes<'a>
impl<'a> FusedIterator for CapturesPatternIter<'a>
impl<'a> FusedIterator for bstr::utf8::CharIndices<'a>
impl<'a> FusedIterator for DrainBytes<'a>
impl<'a> FusedIterator for EscapeAscii<'a>
impl<'a> FusedIterator for rustmax::core::str::EscapeDebug<'a>
impl<'a> FusedIterator for rustmax::core::str::EscapeDefault<'a>
impl<'a> FusedIterator for rustmax::core::str::EscapeUnicode<'a>
impl<'a> FusedIterator for GroupInfoPatternNames<'a>
impl<'a> FusedIterator for rustmax::serde_json::map::Iter<'a>
impl<'a> FusedIterator for rustmax::serde_json::map::IterMut<'a>
impl<'a> FusedIterator for rustmax::serde_json::map::Keys<'a>
impl<'a> FusedIterator for bstr::ext_slice::Lines<'a>
impl<'a> FusedIterator for LinesWithTerminator<'a>
impl<'a> FusedIterator for rustmax::regex::bytes::SetMatchesIter<'a>
impl<'a> FusedIterator for rustmax::regex::SetMatchesIter<'a>
impl<'a> FusedIterator for Source<'a>
impl<'a> FusedIterator for bstr::utf8::Utf8Chunks<'a>
impl<'a> FusedIterator for rustmax::serde_json::map::Values<'a>
impl<'a> FusedIterator for rustmax::serde_json::map::ValuesMut<'a>
impl<'c, 'h> FusedIterator for rustmax::regex::bytes::SubCaptureMatches<'c, 'h>
impl<'c, 'h> FusedIterator for rustmax::regex::SubCaptureMatches<'c, 'h>
impl<'de, R, T> FusedIterator for StreamDeserializer<'de, R, T>where
R: Read<'de> + Fused,
T: Deserialize<'de>,
impl<'h> FusedIterator for Memchr2<'h>
impl<'h> FusedIterator for Memchr3<'h>
impl<'h> FusedIterator for Memchr<'h>
impl<'p, 's, T> FusedIterator for SliceVecDrain<'p, 's, T>where
T: Default,
impl<'p, A, I> FusedIterator for ArrayVecSplice<'p, A, I>
impl<'p, A, I> FusedIterator for TinyVecSplice<'p, A, I>
impl<'r, 'h> FusedIterator for rustmax::regex::bytes::CaptureMatches<'r, 'h>
impl<'r, 'h> FusedIterator for rustmax::regex::CaptureMatches<'r, 'h>
impl<'r, 'h> FusedIterator for CapturesMatches<'r, 'h>
impl<'r, 'h> FusedIterator for FindMatches<'r, 'h>
impl<'r, 'h> FusedIterator for rustmax::regex::bytes::Matches<'r, 'h>
impl<'r, 'h> FusedIterator for rustmax::regex::Matches<'r, 'h>
impl<'r, 'h> FusedIterator for rustmax::regex::bytes::Split<'r, 'h>
impl<'r, 'h> FusedIterator for rustmax::regex::Split<'r, 'h>
impl<'r, 'h> FusedIterator for regex_automata::meta::regex::Split<'r, 'h>
impl<'r, 'h> FusedIterator for rustmax::regex::bytes::SplitN<'r, 'h>
impl<'r, 'h> FusedIterator for rustmax::regex::SplitN<'r, 'h>
impl<'r, 'h> FusedIterator for regex_automata::meta::regex::SplitN<'r, 'h>
impl<'r> FusedIterator for rustmax::regex::bytes::CaptureNames<'r>
impl<'r> FusedIterator for rustmax::regex::CaptureNames<'r>
impl<'t> FusedIterator for TimeZoneFollowingTransitions<'t>
impl<'t> FusedIterator for TimeZonePrecedingTransitions<'t>
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<A, I> FusedIterator for rustmax::itertools::RcIter<I>where
I: FusedIterator<Item = A>,
impl<A, I> FusedIterator for itertools::rciter_impl::RcIter<I>where
I: FusedIterator<Item = A>,
impl<A> FusedIterator for ArrayVecIterator<A>where
A: Array,
impl<A> FusedIterator for rustmax::core::option::IntoIter<A>
impl<A> FusedIterator for smallvec::IntoIter<A>where
A: Array,
impl<A> FusedIterator for rustmax::core::option::Iter<'_, A>
impl<A> FusedIterator for rustmax::core::option::IterMut<'_, A>
impl<A> FusedIterator for OptionFlatten<A>where
A: FusedIterator,
impl<A> FusedIterator for rustmax::core::ops::Range<A>where
A: Step,
impl<A> FusedIterator for RangeFrom<A>where
A: Step,
impl<A> FusedIterator for RangeFromIter<A>where
A: Step,
impl<A> FusedIterator for RangeInclusive<A>where
A: Step,
impl<A> FusedIterator for RangeInclusiveIter<A>where
A: Step,
impl<A> FusedIterator for RangeIter<A>where
A: Step,
impl<A> FusedIterator for Repeat<A>where
A: Clone,
impl<A> FusedIterator for rustmax::itertools::__std_iter::RepeatN<A>where
A: Clone,
impl<A> FusedIterator for rustmax::itertools::RepeatN<A>where
A: Clone,
impl<A> FusedIterator for itertools::repeatn::RepeatN<A>where
A: Clone,
impl<A> FusedIterator for itertools::repeatn::RepeatN<A>where
A: Clone,
impl<A> FusedIterator for TinyVecIterator<A>where
A: Array,
impl<B, I, F> FusedIterator for FilterMap<I, F>
impl<B, I, F> FusedIterator for Map<I, F>
impl<D, R, T> FusedIterator for rustmax::rand::distr::Iter<D, R, T>where
D: Distribution<T>,
R: Rng,
impl<D, R, T> FusedIterator for rand::distr::distribution::Iter<D, R, T>where
D: Distribution<T>,
R: Rng,
impl<I, A> FusedIterator for Box<I, A>
impl<I, ElemF> FusedIterator for rustmax::itertools::IntersperseWith<I, ElemF>
impl<I, ElemF> FusedIterator for itertools::intersperse::IntersperseWith<I, ElemF>
impl<I, ElemF> FusedIterator for itertools::intersperse::IntersperseWith<I, ElemF>
impl<I, F, R, const N: usize> FusedIterator for MapWindows<I, F, N>
impl<I, F, T, E> FusedIterator for rustmax::itertools::FilterOk<I, F>
impl<I, F, T, E> FusedIterator for itertools::adaptors::FilterOk<I, F>
impl<I, F, T, E> FusedIterator for itertools::adaptors::FilterOk<I, F>
impl<I, F, T, U, E> FusedIterator for rustmax::itertools::FilterMapOk<I, F>
impl<I, F, T, U, E> FusedIterator for itertools::adaptors::FilterMapOk<I, F>
impl<I, F, T, U, E> FusedIterator for itertools::adaptors::FilterMapOk<I, F>
impl<I, F> FusedIterator for Inspect<I, F>
impl<I, F> FusedIterator for rustmax::itertools::KMergeBy<I, F>
impl<I, F> FusedIterator for itertools::kmerge_impl::KMergeBy<I, F>
impl<I, F> FusedIterator for rustmax::itertools::PadUsing<I, F>
impl<I, F> FusedIterator for itertools::pad_tail::PadUsing<I, F>
impl<I, F> FusedIterator for itertools::pad_tail::PadUsing<I, F>
impl<I, F> FusedIterator for rustmax::itertools::Positions<I, F>
impl<I, F> FusedIterator for itertools::adaptors::Positions<I, F>
impl<I, F> FusedIterator for itertools::adaptors::Positions<I, F>
impl<I, F> FusedIterator for rustmax::itertools::TakeWhileInclusive<I, F>
impl<I, F> FusedIterator for itertools::take_while_inclusive::TakeWhileInclusive<I, F>
impl<I, F> FusedIterator for itertools::take_while_inclusive::TakeWhileInclusive<I, F>
impl<I, F> FusedIterator for rustmax::itertools::Update<I, F>
impl<I, F> FusedIterator for itertools::adaptors::Update<I, F>
impl<I, F> FusedIterator for itertools::adaptors::Update<I, F>
impl<I, J, F> FusedIterator for rustmax::itertools::MergeBy<I, J, F>
impl<I, J, F> FusedIterator for itertools::merge_join::MergeBy<I, J, F>
impl<I, J, F> FusedIterator for itertools::merge_join::MergeBy<I, J, F>
impl<I, J> FusedIterator for rustmax::itertools::Interleave<I, J>
impl<I, J> FusedIterator for itertools::adaptors::Interleave<I, J>
impl<I, J> FusedIterator for itertools::adaptors::Interleave<I, J>
impl<I, J> FusedIterator for rustmax::itertools::InterleaveShortest<I, J>
impl<I, J> FusedIterator for itertools::adaptors::InterleaveShortest<I, J>
impl<I, J> FusedIterator for itertools::adaptors::InterleaveShortest<I, J>
impl<I, J> FusedIterator for rustmax::itertools::Product<I, J>
impl<I, J> FusedIterator for itertools::adaptors::Product<I, J>
impl<I, J> FusedIterator for itertools::adaptors::Product<I, J>
impl<I, K, V, S> FusedIterator for indexmap::map::iter::Splice<'_, I, K, V, S>
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, S> FusedIterator for rustmax::itertools::Unique<I, S>
impl<I, T, E> FusedIterator for rustmax::itertools::FlattenOk<I, T, E>
Only the iterator being flattened needs to implement FusedIterator.
impl<I, T, E> FusedIterator for itertools::flatten_ok::FlattenOk<I, T, E>
Only the iterator being flattened needs to implement FusedIterator.
impl<I, T, E> FusedIterator for itertools::flatten_ok::FlattenOk<I, T, E>
Only the iterator being flattened needs to implement FusedIterator.