diff --git a/src/data/mod.rs b/src/data/mod.rs index 3b71c1a..251a03a 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -45,11 +45,10 @@ impl CoreConfig { let quest_config: QuestConfig = serde_json::from_str(rest.pop_front().ok_or("No Quest Config")?)?; - let area_configs: Vec = rest + let area_configs = rest .iter() .map(|s| serde_json::from_str(s)) - .filter_map(|s| s.ok()) - .collect(); + .collect::, _>>()?; if rest.len() != area_configs.len() { return Err("Failed Parsing Area Configs".into()); @@ -67,12 +66,11 @@ impl CoreConfig { pub(crate) fn to_string(&self) -> Result> { let game_config = serde_json::to_string(&self.game_config)?; - let area_config: Vec = self + let area_config = self .area_configs .iter() .map(|a| serde_json::to_string(a)) - .filter_map(|a| a.ok()) - .collect(); + .collect::, _>>()?; let rest_config = [ serde_json::to_string(&self.player_config)?,