Skip to content

Commit e3f8b27

Browse files
Philippe-Choletjswrenn
authored andcommitted
PadUsing::fold
1 parent a90f095 commit e3f8b27

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/pad_tail.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,18 @@ where
6767
let tail = self.min.saturating_sub(self.pos);
6868
size_hint::max(self.iter.size_hint(), (tail, Some(tail)))
6969
}
70+
71+
fn fold<B, G>(self, mut init: B, mut f: G) -> B
72+
where
73+
G: FnMut(B, Self::Item) -> B,
74+
{
75+
let mut pos = self.pos;
76+
init = self.iter.fold(init, |acc, item| {
77+
pos += 1;
78+
f(acc, item)
79+
});
80+
(pos..self.min).map(self.filler).fold(init, f)
81+
}
7082
}
7183

7284
impl<I, F> DoubleEndedIterator for PadUsing<I, F>

0 commit comments

Comments
 (0)