4 个版本 (2 个破坏性更新)

0.3.0 2024 年 8 月 3 日
0.2.0 2024 年 4 月 15 日
0.1.1 2024 年 4 月 15 日
0.1.0 2024 年 4 月 15 日

#65 in #enum

Download history 1/week @ 2024-05-20 126/week @ 2024-07-29 32/week @ 2024-08-05 21/week @ 2024-08-12

每月下载量 179
2 个 crate 中使用 (通过 dalet)

MIT 许可证

5KB
70

enum-procs

有用的枚举宏

crates.io

AutoFrom

生成实现 From 特性的宏,适用于元组变体中只有一个类型的所有类型

use enum_procs::AutoFrom;

#[derive(AutoFrom, Debug, PartialEq, Eq)]
enum Test {
    Bool(bool),
    Text(String),
}

assert_eq!(Test::from(true), Test::Bool(true));
assert_eq!(Test::from("Test"), Test::Text("Test".to_owned()));

PartialEqVariant

生成实现 PartialEq 特性的宏,仅比较枚举的变体

use enum_procs::PartialEqVariant;

#[derive(PartialEqVariant, Eq)]
enum EnumProc {
    VariantWithValue(bool),
    AnotherVariantWithValue(bool),
}

assert!(EnumProc::VariantWithValue(true) == EnumProc::VariantWithValue(false));
assert!(EnumProc::VariantWithValue(false) == EnumProc::VariantWithValue(true));

依赖

~290–740KB
~18K SLoC