diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-19 09:26:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-19 09:26:03 +0000 |
commit | 9918693037dce8aa4bb6f08741b6812923486c18 (patch) | |
tree | 21d2b40bec7e6a7ea664acee056eb3d08e15a1cf /vendor/itertools/src/rciter_impl.rs | |
parent | Releasing progress-linux version 1.75.0+dfsg1-5~progress7.99u1. (diff) | |
download | rustc-9918693037dce8aa4bb6f08741b6812923486c18.tar.xz rustc-9918693037dce8aa4bb6f08741b6812923486c18.zip |
Merging upstream version 1.76.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/itertools/src/rciter_impl.rs')
-rw-r--r-- | vendor/itertools/src/rciter_impl.rs | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/vendor/itertools/src/rciter_impl.rs b/vendor/itertools/src/rciter_impl.rs index 7298350a8..e3b753206 100644 --- a/vendor/itertools/src/rciter_impl.rs +++ b/vendor/itertools/src/rciter_impl.rs @@ -1,10 +1,10 @@ - -use std::iter::{FusedIterator, IntoIterator}; use alloc::rc::Rc; use std::cell::RefCell; +use std::iter::{FusedIterator, IntoIterator}; /// A wrapper for `Rc<RefCell<I>>`, that implements the `Iterator` trait. #[derive(Debug)] +#[must_use = "iterator adaptors are lazy and do nothing unless consumed"] pub struct RcIter<I> { /// The boxed iterator. pub rciter: Rc<RefCell<I>>, @@ -45,9 +45,12 @@ pub struct RcIter<I> { /// `.next()`, i.e. if it somehow participates in an “iterator knot” /// where it is an adaptor of itself. pub fn rciter<I>(iterable: I) -> RcIter<I::IntoIter> - where I: IntoIterator +where + I: IntoIterator, { - RcIter { rciter: Rc::new(RefCell::new(iterable.into_iter())) } + RcIter { + rciter: Rc::new(RefCell::new(iterable.into_iter())), + } } impl<I> Clone for RcIter<I> { @@ -55,7 +58,8 @@ impl<I> Clone for RcIter<I> { } impl<A, I> Iterator for RcIter<I> - where I: Iterator<Item = A> +where + I: Iterator<Item = A>, { type Item = A; #[inline] @@ -73,7 +77,8 @@ impl<A, I> Iterator for RcIter<I> } impl<I> DoubleEndedIterator for RcIter<I> - where I: DoubleEndedIterator +where + I: DoubleEndedIterator, { #[inline] fn next_back(&mut self) -> Option<Self::Item> { @@ -83,7 +88,8 @@ impl<I> DoubleEndedIterator for RcIter<I> /// Return an iterator from `&RcIter<I>` (by simply cloning it). impl<'a, I> IntoIterator for &'a RcIter<I> - where I: Iterator +where + I: Iterator, { type Item = I::Item; type IntoIter = RcIter<I>; @@ -93,7 +99,4 @@ impl<'a, I> IntoIterator for &'a RcIter<I> } } - -impl<A, I> FusedIterator for RcIter<I> - where I: FusedIterator<Item = A> -{} +impl<A, I> FusedIterator for RcIter<I> where I: FusedIterator<Item = A> {} |