diff --git a/crates/elp/src/lib.rs b/crates/elp/src/lib.rs index 7471c1e67..3165daaf3 100644 --- a/crates/elp/src/lib.rs +++ b/crates/elp/src/lib.rs @@ -215,4 +215,14 @@ mod tests { "#]] .assert_eq(&toml::to_string::(&lint_config).unwrap()); } + + #[test] + fn serde_read_lint_config_empty_enabled() { + let content = r#" + disabled_lints = [] + "#; + let config = toml::from_str::(&content).unwrap(); + assert_eq!(config.enabled_lints, vec![]); + assert_eq!(config.disabled_lints, vec![]); + } } diff --git a/crates/ide/src/diagnostics.rs b/crates/ide/src/diagnostics.rs index 650c10d4d..925980a0f 100644 --- a/crates/ide/src/diagnostics.rs +++ b/crates/ide/src/diagnostics.rs @@ -659,6 +659,7 @@ impl DiagnosticsConfig { /// initially. But could by anything supported by serde. #[derive(Deserialize, Serialize, Default, Debug)] pub struct LintConfig { + #[serde(default)] pub enabled_lints: Vec, #[serde(default)] pub disabled_lints: Vec,