Skip to main content

Default

Derive Macro Default 

Source
#[derive(Default)]
{
    // Attributes available to this derive:
    #[default]
}
Expand description

Implements Default for a struct, using Default::default() for each field unless a #[default(...)] attribute provides a custom expression.

ยงExample

#[derive(Default)]
struct MyStruct {
    name: String,
    #[default(42)]
    count: i32,
    #[default(vec![1, 2, 3])]
    items: Vec<i32>,
}

adds

impl Default for MyStruct {
    fn default() -> Self {
        Self {
            name: ::core::default::Default::default(),
            count: 42,
            items: vec![1, 2, 3],
        }
    }
}