2个不稳定版本
0.1.0 | 2024年7月22日 |
---|---|
0.0.2 | 2024年5月19日 |
#1326 in Rust模式
每月155次下载
15KB
unwrap-enum
一个crate,用于生成将枚举展开为特定变体的方法,例如is_none
和is_none
在Option
上。
示例
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_none
和is_none
在Option
上。
示例
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