aboutsummaryrefslogtreecommitdiff
path: root/src/pad_tail.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/pad_tail.rs')
-rw-r--r--src/pad_tail.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/pad_tail.rs b/src/pad_tail.rs
index 4ed83c3..de57ee4 100644
--- a/src/pad_tail.rs
+++ b/src/pad_tail.rs
@@ -1,4 +1,4 @@
-use std::iter::Fuse;
+use std::iter::{Fuse, FusedIterator};
use crate::size_hint;
/// An iterator adaptor that pads a sequence to a minimum length by filling
@@ -6,7 +6,7 @@ use crate::size_hint;
///
/// Iterator element type is `I::Item`.
///
-/// See [`.pad_using()`](../trait.Itertools.html#method.pad_using) for more information.
+/// See [`.pad_using()`](crate::Itertools::pad_using) for more information.
#[derive(Clone)]
#[must_use = "iterator adaptors are lazy and do nothing unless consumed"]
pub struct PadUsing<I, F> {
@@ -16,6 +16,13 @@ pub struct PadUsing<I, F> {
filler: F,
}
+impl<I, F> std::fmt::Debug for PadUsing<I, F>
+where
+ I: std::fmt::Debug,
+{
+ debug_fmt_fields!(PadUsing, iter, min, pos);
+}
+
/// Create a new **PadUsing** iterator.
pub fn pad_using<I, F>(iter: I, min: usize, filler: F) -> PadUsing<I, F>
where I: Iterator,
@@ -81,3 +88,9 @@ impl<I, F> ExactSizeIterator for PadUsing<I, F>
where I: ExactSizeIterator,
F: FnMut(usize) -> I::Item
{}
+
+
+impl<I, F> FusedIterator for PadUsing<I, F>
+ where I: FusedIterator,
+ F: FnMut(usize) -> I::Item
+{}