4个版本
使用旧的Rust 2015
0.1.3 | 2018年12月3日 |
---|---|
0.1.2 | 2018年3月29日 |
0.1.1 | 2018年3月29日 |
0.1.0 | 2018年3月29日 |
#28 in #background-jobs
5KB
#[derive(EachVariant)]
返回枚举每个变体的派生方法
示例用法
#[macro_use]
extern crate enum_each_variant_derive;
#[derive(EachVariant, Eq, PartialEq, Debug)]
enum Thing {
One,
Two,
Three,
Four,
}
let all: Vec<Thing> = Thing::all_variants();
assert_eq!(all, vec![Thing::One, Thing::Two, Thing::Three, Thing::Four]);
注意
仅适用于没有关联值的枚举。因此,我们无法使用它为此枚举
enum TrainStatus {
OnTime,
DelayedBy(std::time::Duration),
}
lib.rs
:
返回枚举每个变体的派生方法
示例用法
#[macro_use]
extern crate enum_each_variant_derive;
#[derive(EachVariant, Eq, PartialEq, Debug)]
enum Thing {
One,
Two,
Three,
Four,
}
let all: Vec<Thing> = Thing::all_variants();
assert_eq!(all, vec![Thing::One, Thing::Two, Thing::Three, Thing::Four]);
注意
仅适用于没有关联值的枚举。因此,我们无法使用它为此枚举
enum TrainStatus {
OnTime,
DelayedBy(std::time::Duration),
}
依赖
~2MB
~47K SLoC