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 数据结构

Download history 24/week @ 2024-04-14 14/week @ 2024-04-21 8/week @ 2024-04-28 1/week @ 2024-05-05 2/week @ 2024-05-12 21/week @ 2024-05-19 39/week @ 2024-05-26 19/week @ 2024-06-02 27/week @ 2024-06-09 11/week @ 2024-06-16 30/week @ 2024-06-23 25/week @ 2024-06-30 12/week @ 2024-07-07 5/week @ 2024-07-14 23/week @ 2024-07-21 70/week @ 2024-07-28

110 每月下载量
4 个crate中使用 (2 直接)

MIT 协议

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