base: I,
}
-/// Create a new `Rev` iterator.
-///
-/// NB: a free fn because it is NOT part of the end-user API.
-pub fn new<I>(base: I) -> Rev<I>
+impl<I> Rev<I>
where
I: IndexedParallelIterator,
{
- Rev { base: base }
+ /// Create a new `Rev` iterator.
+ pub(super) fn new(base: I) -> Self {
+ Rev { base }
+ }
}
impl<I> ParallelIterator for Rev<I>
CB: ProducerCallback<Self::Item>,
{
let len = self.base.len();
- return self.base.with_producer(Callback {
- callback: callback,
- len: len,
- });
+ return self.base.with_producer(Callback { callback, len });
struct Callback<CB> {
callback: CB,
P: Producer<Item = T>,
{
let producer = RevProducer {
- base: base,
+ base,
len: self.len,
};
self.callback.callback(producer)