+# Version 1.0.1 (2020-08-09)
+* Implemented `ExactSizeIterator` for `EnumSetIter`.
+
# Version 1.0.0 (2020-04-06)
## Breaking Changes
[package]
name = "enumset"
-version = "1.0.0"
+version = "1.0.1"
authors = ["Alissa Rao <lymia@lymiahugs.com>"]
edition = "2018"
}
}
+impl<T: EnumSetType> ExactSizeIterator for EnumSetIter<T> {}
+
impl<T: EnumSetType> Extend<T> for EnumSet<T> {
fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I) {
iter.into_iter().for_each(|v| { self.insert(v); });
let mut itr = set.iter();
for idx in 0 .. count {
assert_eq!(itr.size_hint(), (count-idx, Some(count-idx)));
+ assert_eq!(itr.len(), count-idx);
assert!(itr.next().is_some());
}
assert_eq!(itr.size_hint(), (0, Some(0)));
+ assert_eq!(itr.len(), 0);
}
#[test]
fn test_iter_size_hint() {
use darling::*;
use proc_macro::TokenStream;
-use proc_macro2::{TokenStream as SynTokenStream, Literal};
+use proc_macro2::{TokenStream as SynTokenStream, Literal, Span};
use std::collections::HashSet;
use syn::{*, Result, Error};
-use syn::export::Span;
use syn::spanned::Spanned;
use quote::*;
} else {
error(input.span(), "`#[derive(EnumSetType)]` may only be used on enums")
}
-}
\ No newline at end of file
+}