use toml::Value as TomlValue; /// Merge config `overlay` into `base`, giving `overlay` precedence. pub fn merge_toml_values(base: &mut TomlValue, overlay: &TomlValue) { if let TomlValue::Table(overlay_table) = overlay && let TomlValue::Table(base_table) = base { for (key, value) in overlay_table { if let Some(existing) = base_table.get_mut(key) { merge_toml_values(existing, value); } else { base_table.insert(key.clone(), value.clone()); } } } else { *base = overlay.clone(); } }