Closed
Description
version: 0.15.4
Config fails to initialize (an empty) HashMap from an empty object.
Repro:
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Config {
pub data: HashMap<String, String>,
}
...
let cfg = config::Config::builder()
.add_source(config::File::from_str(
//r#"{"data": {"a": "b"}}"#, // it works fine
r#"{"data": {}}"#, // it fails
config::FileFormat::Json,
))
.build()
.unwrap();
let cfg = cfg.try_deserialize::<Config>();
log::info!("configuration: {:#?}", cfg);
Expected behavior: data is initialized to an empty HashMap.
Actual result: Err( invalid type: unit value, expected a map )
Metadata
Metadata
Assignees
Labels
No labels