]> git.lizzy.rs Git - enumset.git/commitdiff
Merge branch 'master' of github.com:Lymia/enumset
authorAlissa Rao <lymia@lymiahugs.com>
Mon, 25 Jan 2021 22:17:23 +0000 (14:17 -0800)
committerAlissa Rao <lymia@lymiahugs.com>
Mon, 25 Jan 2021 22:17:23 +0000 (14:17 -0800)
RELEASES.md
enumset/Cargo.toml
enumset/src/lib.rs
enumset/tests/ops.rs
enumset_derive/src/lib.rs

index f0d7b527e5b65657af48c3d60c21200825fa5f5f..5a1e89438788980e488acdf92cb529284a18d98a 100644 (file)
@@ -1,3 +1,6 @@
+# Version 1.0.1 (2020-08-09)
+* Implemented `ExactSizeIterator` for `EnumSetIter`.
+
 # Version 1.0.0 (2020-04-06)
 
 ## Breaking Changes
index c54cfba345c97753c409ac61b69828171b5a1cf1..0ebe1b90ffa4fb7c649f579b6adabeb0c934e715 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "enumset"
-version = "1.0.0"
+version = "1.0.1"
 authors = ["Alissa Rao <lymia@lymiahugs.com>"]
 edition = "2018"
 
index 6ce480c56f772dee9b96a196331d8643b7b0417f..55aab1e98e45463004ca2dc16a0c5c98ef2a6d7a 100644 (file)
@@ -593,6 +593,8 @@ impl <T: EnumSetType> Iterator for EnumSetIter<T> {
     }
 }
 
+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); });
index 5c0ad76c3e013cc8d5a04958e1c149193ab360ba..aa7019b8c3334d8d8c5bf48da393d60fe0a009fa 100644 (file)
@@ -196,9 +196,11 @@ macro_rules! test_enum {
             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() {
index 8d97bdcf4924f37cca5a32978255b50a0417b740..597b4cb2cad76eb650d2a382f74664989fa871f5 100644 (file)
@@ -4,10 +4,9 @@ extern crate proc_macro;
 
 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::*;
 
@@ -523,4 +522,4 @@ fn derive_enum_set_type_0(input: DeriveInput, attrs: EnumsetAttrs) -> Result<Tok
     } else {
         error(input.span(), "`#[derive(EnumSetType)]` may only be used on enums")
     }
-}
\ No newline at end of file
+}