3个版本

0.1.2 2024年1月13日
0.1.1 2023年3月21日
0.1.0 2022年9月10日

#27#fallback

Download history · Rust 包仓库 36/week @ 2024-04-07 · Rust 包仓库 26/week @ 2024-04-14 · Rust 包仓库 18/week @ 2024-04-21 · Rust 包仓库 13/week @ 2024-04-28 · Rust 包仓库 4/week @ 2024-05-05 · Rust 包仓库 4/week @ 2024-05-12 · Rust 包仓库 25/week @ 2024-05-19 · Rust 包仓库 42/week @ 2024-05-26 · Rust 包仓库 22/week @ 2024-06-02 · Rust 包仓库 30/week @ 2024-06-09 · Rust 包仓库 16/week @ 2024-06-16 · Rust 包仓库 32/week @ 2024-06-23 · Rust 包仓库 32/week @ 2024-06-30 · Rust 包仓库 13/week @ 2024-07-07 · Rust 包仓库 9/week @ 2024-07-14 · Rust 包仓库 25/week @ 2024-07-21 · Rust 包仓库

81 每月下载量
5 个crate中使用 (通过 fallback)

MIT 许可证

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