Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'lib/la-arena/src/lib.rs')
-rw-r--r--lib/la-arena/src/lib.rs7
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>()))