2 个不稳定版本
0.2.0 | 2024年7月8日 |
---|---|
0.1.0 | 2022年1月14日 |
#140 在 过程宏
32,254 每月下载量
在 6 个 crate 中使用 (5 直接)
11KB
191 代码行数(不包括注释)
serde_default
这是一个生成从 serde 属性中 impl 的库。
lib.rs
:
基于 serde 属性中字段级别的默认值生成 Default
实现。
用法
在一个派生自 Serialize
或 Deserialize
的结构体上,添加 DefaultFromSerde
。
#[derive(Debug, DefaultFromSerde, PartialEq, Eq)]
pub struct MyStruct {
#[serde(default = "field_1_default")]
field1: u16,
#[serde(default)]
field2: String,
}
fn field_1_default() -> u16 {
3
}
fn main() {
assert_eq!(MyStruct::default(), MyStruct { field1: 3, field2: "".into() });
}
依赖
~0.6–1MB
~24K SLoC