6个版本
0.3.1 | 2023年7月1日 |
---|---|
0.3.0 | 2023年7月1日 |
0.2.1 | 2023年5月31日 |
0.1.1 | 2023年5月31日 |
在 进程宏 中排名第496
7KB
默认派生
使用宏实现默认实现
示例
使用 default2::Default
通过宏设置每个字段的默认值
#[derive(default2::Default)]
struct Process {
#[default(10)]
id: i32,
#[default("main".into())]
name: String,
#[default(num_cpus::get())]
cpus: usize,
#[default(vec![1, 2, 3])]
vector: Vec<u64>,
payload: u64,
}
以下代码将被生成
struct Process {
id: i32,
name: String,
cpus: usize,
payload: u64,
}
impl Default for Process {
fn default() -> Self {
Process {
id: 10,
name: "main".into(),
cpus: num_cpus::get(),
vector: vec![1, 2, 3],
payload: Default::default(),
}
}
}
依赖项
~285–740KB
~18K SLoC