4个版本
0.1.3 | 2024年1月13日 |
---|---|
0.1.2 | 2023年3月21日 |
0.1.1 | 2022年9月23日 |
0.1.0 | 2022年9月10日 |
#437 in 数据结构
110 每月下载量
在 4 个crate中使用 (2 直接)
10KB
141 代码行
fallback
这是一个实现后备机制的辅助库。它包含两个 Option
,如果“所需”的一个是 None
,则会选择“基础”的一个。
使用名为 FallbackSpec
的trait来实现结构的字段后备。
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())));
lib.rs
:
后备类型。
Fallback
类型提供了当值或值的一部分不存在时进行后备的功能。
依赖
~260–700KB
~17K SLoC