Unnamed repository; edit this file 'description' to name the repository.
| -rw-r--r-- | lib/la-arena/src/lib.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/la-arena/src/lib.rs b/lib/la-arena/src/lib.rs index b03fa5b61d..c793fff848 100644 --- a/lib/la-arena/src/lib.rs +++ b/lib/la-arena/src/lib.rs @@ -176,9 +176,14 @@ impl<T> IdxRange<T> { impl<T> Iterator for IdxRange<T> { type Item = Idx<T>; + fn next(&mut self) -> Option<Self::Item> { self.range.next().map(|raw| Idx::from_raw(raw.into())) } + + fn size_hint(&self) -> (usize, Option<usize>) { + self.range.size_hint() + } } impl<T> DoubleEndedIterator for IdxRange<T> { @@ -187,6 +192,8 @@ impl<T> DoubleEndedIterator for IdxRange<T> { } } +impl<T> ExactSizeIterator for IdxRange<T> {} + impl<T> fmt::Debug for IdxRange<T> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.debug_tuple(&format!("IdxRange::<{}>", std::any::type_name::<T>())) |