From ac029f68c8a15078664095272abe3c942bcfc3d4 Mon Sep 17 00:00:00 2001 From: "Jorge C. Leitao" Date: Tue, 19 Jan 2021 07:30:02 +0100 Subject: [PATCH] Fixed size_hint. --- rust/arrow/src/array/iterator.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/rust/arrow/src/array/iterator.rs b/rust/arrow/src/array/iterator.rs index 356ae545fa8..463eb031ce6 100644 --- a/rust/arrow/src/array/iterator.rs +++ b/rust/arrow/src/array/iterator.rs @@ -59,7 +59,10 @@ impl<'a, T: ArrowPrimitiveType> std::iter::Iterator for PrimitiveIter<'a, T> { } fn size_hint(&self) -> (usize, Option) { - (self.array.len(), Some(self.array.len())) + ( + self.array.len() - self.current, + Some(self.array.len() - self.current), + ) } } @@ -118,7 +121,10 @@ impl<'a> std::iter::Iterator for BooleanIter<'a> { } fn size_hint(&self) -> (usize, Option) { - (self.array.len(), Some(self.array.len())) + ( + self.array.len() - self.current, + Some(self.array.len() - self.current), + ) } } @@ -179,7 +185,7 @@ impl<'a, T: StringOffsetSizeTrait> std::iter::Iterator for GenericStringIter<'a, } fn size_hint(&self) -> (usize, Option) { - (self.len, Some(self.len)) + (self.len - self.i, Some(self.len - self.i)) } } @@ -228,7 +234,7 @@ impl<'a, T: BinaryOffsetSizeTrait> std::iter::Iterator for GenericBinaryIter<'a, } fn size_hint(&self) -> (usize, Option) { - (self.len, Some(self.len)) + (self.len - self.i, Some(self.len - self.i)) } }