https://github.com/a4-tacks/rust-enum_variant_eq
Determining that enumerations only have Variant equal
https://github.com/a4-tacks/rust-enum_variant_eq
rust rust-lang rust-library rust-macro
Last synced: 4 months ago
JSON representation
Determining that enumerations only have Variant equal
- Host: GitHub
- URL: https://github.com/a4-tacks/rust-enum_variant_eq
- Owner: A4-Tacks
- License: mit
- Created: 2023-03-24T12:24:04.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-24T15:32:17.000Z (about 3 years ago)
- Last Synced: 2025-08-09T08:57:33.834Z (10 months ago)
- Topics: rust, rust-lang, rust-library, rust-macro
- Language: Rust
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Determining that enumerations only have Variant equal
# Examples
```rust
use enum_variant_eq::{*,enum_variant_eq_derive::*};
#[derive(Debug, EnumVariantEq)]
enum TestEnum {
Unit,
EmptyUnNamed(),
UnNamed(i8),
UnNamed2(i8, u8),
EmptyNamed {},
Named { x: i8 },
Named2 { x: i8, y: u8 },
}
use TestEnum::*;
assert!(Unit.enum_variant_eq(&Unit));
assert!(UnNamed(5).enum_variant_eq(&UnNamed(8)));
assert!(Named { x: 5 }.enum_variant_eq(&Named { x: 8 }));
```
# Errors
`EnumVariantEq` only applies to enumerations. If it is violated, the compilation will panic
```rust
#[derive(Debug, EnumVariantEq)]
struct S;
```
```
error: #[derive(Debug, EnumVariantEq)]
| ^^^^^^^^^^^^^
= help: message: Type Is Not Enum
```
# Other:
`Build Ast Error`