Crates.io | default2 |
lib.rs | default2 |
version | 1.0.0 |
source | src |
created_at | 2023-05-31 02:18:54.421861 |
updated_at | 2024-11-13 22:13:23.871528 |
description | Default implementation using macros |
homepage | https://github.com/yaa110/default2 |
repository | https://github.com/yaa110/default2 |
max_upload_size | |
id | 878471 |
size | 16,614 |
Default implementation using macros
Use default2::Default
to set default value of each field using a macro:
#[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,
}
The following code will be generated:
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(),
}
}
}