Determining that enumerations only have Variant equal
```rust use enumvarianteq::{,enum_variant_eq_derive::};
enum TestEnum { Unit, EmptyUnNamed(), UnNamed(i8), UnNamed2(i8, u8), EmptyNamed {}, Named { x: i8 }, Named2 { x: i8, y: u8 }, } use TestEnum::*; assert!(Unit.enumvarianteq(&Unit)); assert!(UnNamed(5).enumvarianteq(&UnNamed(8))); assert!(Named { x: 5 }.enumvarianteq(&Named { x: 8 })); ```
EnumVariantEq
only applies to enumerations. If it is violated, the compilation will panic
```rust
struct S;
error: #[derive(Debug, EnumVariantEq)]
| ^^^^^^^^^^^^^
= help: message: Type Is Not Enum
```
Build Ast Error