3个版本
0.1.2 | 2024年1月13日 |
---|---|
0.1.1 | 2023年3月21日 |
0.1.0 | 2022年9月10日 |
#27 在 #fallback
81 每月下载量
在 5 个crate中使用 (通过 fallback)
7KB
108 行
fallback
这是一个实现回退机制的辅助库。它包含两个 Option
,如果“期望”的为 None
,则选择“基础”的。
使用名为 FallbackSpec
的特质来为结构体实现字段回退。
use fallback::*;
#[derive(FallbackSpec)]
struct Foo {
data1: i32,
data2: String,
}
let data = Foo {
data1: 123,
data2: "Hello".to_string(),
};
let data = Fallback::new(None, Some(data));
let data = data.spec();
assert_eq!(data.data1.unzip(), (None, Some(123)));
assert_eq!(data.data2.unzip(), (None, Some("Hello".to_string())));
依赖项
~245–690KB
~16K SLoC