2个不稳定版本

0.1.0 2024年7月22日
0.0.2 2024年5月19日

#1326 in Rust模式

Download history • Rust 包仓库 155/week @ 2024-05-17 • Rust 包仓库 13/week @ 2024-05-24 • Rust 包仓库 132/week @ 2024-07-19 • Rust 包仓库 22/week @ 2024-07-26 • Rust 包仓库 1/week @ 2024-08-02 • Rust 包仓库

每月155次下载

GPL-3.0-or-later

15KB

unwrap-enum

一个crate,用于生成将枚举展开为特定变体的方法,例如is_noneis_noneOption上。

示例

use unwrap_enum::{EnumAs, EnumIs};

#[derive(Clone, Debug, EnumAs, EnumIs)]
enum Value {
    String(String),
    Int(i64)
}

let value = Value::String("hello world".to_string());

assert!(value.is_string());
assert!(!value.is_int());
assert!(matches!(value.as_string(), Some(string) if string == "hello world"));
assert!(matches!(value.as_int(), None));

待办事项

实现EnumAsMut和EnumInto derive宏。


lib.rs:

unwrap-enum

一个crate,用于生成将枚举展开为特定变体的方法,例如is_noneis_noneOption上。

示例

use unwrap_enum::{EnumAs, EnumIs};

#[derive(Clone, Debug, EnumAs, EnumIs)]
enum Value {
    String(String),
    Int(i64)
}

let value = Value::String("hello world".to_string());

assert!(value.is_string());
assert!(!value.is_int());
assert!(matches!(value.as_string(), Some(string) if string == "hello world"));
assert!(matches!(value.as_int(), None));

待办事项

实现EnumAsMut和EnumInto derive宏。

依赖关系

~0.6–1.1MB
~25K SLoC