--- /dev/null
+use enumset::*;
+
+#[derive(EnumSetType)]
+enum VariantOver127 {
+ Variant = 128,
+}
+
+#[derive(EnumSetType)]
+enum TooManyVariants {
+ _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20,
+ _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39,
+ _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58,
+ _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77,
+ _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96,
+ _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112,
+ _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, _124, _125, _126, _127, _128,
+}
+
+#[derive(EnumSetType)]
+enum NegativeVariant {
+ Variant = -1,
+}
+
+#[derive(EnumSetType)]
+#[repr(usize)]
+enum BadRepr {
+ Variant,
+}
+
+#[derive(EnumSetType)]
+enum HasFields {
+ Variant(u32),
+}
+
+#[derive(EnumSetType)]
+#[enumset(serialize_repr = "u8")]
+enum BadSerializationRepr {
+ Variant = 8,
+}
+
+#[derive(EnumSetType)]
+struct BadItemType {
+
+}
+
+fn main() { }
\ No newline at end of file
--- /dev/null
+error: `#[derive(EnumSetType)]` currently only supports enum discriminants up to 127.
+ --> $DIR/variants.rs:5:5
+ |
+5 | Variant = 128,
+ | ^^^^^^^^^^^^^
+
+error: `#[derive(EnumSetType)]` currently only supports enums up to 128 variants.
+ --> $DIR/variants.rs:16:95
+ |
+16 | _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, _124, _125, _126, _127, _128,
+ | ^^^^
+
+error: Enum set discriminants must be `u32`s.
+ --> $DIR/variants.rs:21:5
+ |
+21 | Variant = -1,
+ | ^^^^^^^^^^^^
+
+error: Only `u8`, `u16` and `u32` reprs are supported.
+ --> $DIR/variants.rs:25:1
+ |
+25 | #[repr(usize)]
+ | ^^^^^^^^^^^^^^
+
+error: `#[derive(EnumSetType)]` can only be used on fieldless enums.
+ --> $DIR/variants.rs:32:5
+ |
+32 | Variant(u32),
+ | ^^^^^^^^^^^^
+
+error: Too many variants for u8 serialization repr.
+ --> $DIR/variants.rs:36:1
+ |
+36 | / #[enumset(serialize_repr = "u8")]
+37 | | enum BadSerializationRepr {
+38 | | Variant = 8,
+39 | | }
+ | |_^
+
+error: `#[derive(EnumSetType)]` may only be used on enums
+ --> $DIR/variants.rs:42:1
+ |
+42 | / struct BadItemType {
+43 | |
+44 | | }
+ | |_^