From 7a051a0dcbafd467203bcaeec773c269abcd02cd Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 20 Jun 2023 18:12:59 -0600 Subject: [PATCH] Panic in debug if global settings can't be deserialized from defaults Co-Authored-By: Max Brunsfeld Co-Authored-By: Julia Risley --- crates/settings/src/settings_store.rs | 31 +++++++++++++++------------ 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/crates/settings/src/settings_store.rs b/crates/settings/src/settings_store.rs index 1188018cd8..5e2be5a881 100644 --- a/crates/settings/src/settings_store.rs +++ b/crates/settings/src/settings_store.rs @@ -147,25 +147,28 @@ impl SettingsStore { local_values: Vec::new(), })); - if let Some(default_settings) = setting_value + let default_settings = setting_value .deserialize_setting(&self.raw_default_settings) + .expect("can't deserialize default settings"); + + let mut user_values_stack = Vec::new(); + if let Some(user_settings) = setting_value + .deserialize_setting(&self.raw_user_settings) .log_err() { - let mut user_values_stack = Vec::new(); + user_values_stack = vec![user_settings]; + } - if let Some(user_settings) = setting_value - .deserialize_setting(&self.raw_user_settings) - .log_err() - { - user_values_stack = vec![user_settings]; - } + #[cfg(debug_assertions)] + setting_value + .load_setting(&default_settings, &[], cx) + .expect("can't deserialize settings from defaults"); - if let Some(setting) = setting_value - .load_setting(&default_settings, &user_values_stack, cx) - .log_err() - { - setting_value.set_global_value(setting); - } + if let Some(setting) = setting_value + .load_setting(&default_settings, &user_values_stack, cx) + .log_err() + { + setting_value.set_global_value(setting); } }