]> git.lizzy.rs Git - enumset.git/commitdiff
Fix off-by-one error while choosing underlying integer type. Fixes #8.
authorLymia Aluysia <lymia@lymiahugs.com>
Wed, 17 Apr 2019 19:04:39 +0000 (14:04 -0500)
committerLymia Aluysia <lymia@lymiahugs.com>
Wed, 17 Apr 2019 19:05:44 +0000 (14:05 -0500)
enumset_derive/src/lib.rs

index be02a6998331e79e14d3d5aefe8b43fff8d13136..5f63479fe0fedd42bfb12c6469c2c9d33e16051f 100644 (file)
@@ -244,18 +244,18 @@ pub fn derive_enum_set_type(input: TokenStream) -> TokenStream {
                 }
             }
 
-            let repr = Ident::new(if max_variant <= 8 {
+            let repr = Ident::new(if max_variant <= 7 {
                 "u8"
-            } else if max_variant <= 16 {
+            } else if max_variant <= 15 {
                 "u16"
-            } else if max_variant <= 32 {
+            } else if max_variant <= 31 {
                 "u32"
-            } else if max_variant <= 64 {
+            } else if max_variant <= 63 {
                 "u64"
-            } else if max_variant <= 128 {
+            } else if max_variant <= 127 {
                 "u128"
             } else {
-                panic!("max_variant > 128?")
+                panic!("max_variant > 127?")
             }, Span::call_site());
 
             let mut no_ops = false;