Expand description
§facet-default
Derive Default for your types using facet’s plugin system with custom field defaults.
§Usage
ⓘ
use facet::Facet;
use facet_default as _;
#[derive(Facet, Debug)]
#[facet(derive(Default))]
pub struct Config {
#[facet(default = "localhost")]
host: String,
#[facet(default = 8080u16)]
port: u16,
// No attribute = uses Default::default()
debug: bool,
}§Attributes
§Field Level
#[facet(default = literal)]- Use a literal value#[facet(default)]- UseDefault::default()for the field type
Fields without attributes use Default::default().
§Enums
For enums, mark the default variant:
ⓘ
#[derive(Facet, Debug)]
#[facet(derive(Default))]
#[repr(u8)]
pub enum Status {
#[facet(default::variant)]
Pending,
Active,
Done,
}Macros§
- __
facet_ invoke - Plugin chain entry point.
Enums§
- Attr
- Default attribute types for configuring Default implementation.