I'm trying to load a Toml file with Serde, it contains multiple booleans, I want to default them all to false if not found in the text file.
My implementation currently is:
#[derive(serde::Deserialize, serde::Serialize)]
#[serde(rename_all="PascalCase")]
pub struct SomeConfigStruct {
// This one *must* exist, non optional, non defaulted.
class_name : String,
#[serde(default = "default_boolean")]
parent_in_constructor : bool,
#[serde(default = "default_boolean")]
set_user_texts : bool,
#[serde(default = "default_boolean")]
singleton : bool,
#[serde(default = "default_boolean")]
use_enum_types : bool,
}
How can I do something in the lines of:
#[derive(serde::Deserialize, serde::Serialize)]
#[serde(rename_all="PascalCase")]
pub struct SomeConfigStruct {
class_name : String,
#[serde(type = bool, default = "default_boolean")]
parent_in_constructor : bool,
set_user_texts : bool,
singleton : bool,
use_enum_types : bool,
}
[edit, new member on the Struct to better exemplify what I need.]