set(value, "/checkOnSave/extraArgs", extra_args);
set(value, "/checkOnSave/command", command);
set(value, "/checkOnSave/allTargets", all_targets);
- if let Some(new_all_features) = get(value, "/checkOnSave/allFeatures") {
- *all_features = new_all_features;
- } else {
- *all_features = self.cargo.all_features;
- }
- set(value, "/checkOnSave/features", features);
- if features.is_empty() && !self.cargo.features.is_empty() {
- *features = self.cargo.features.clone();
- }
+ *all_features = get(value, "/checkOnSave/allFeatures").unwrap_or(self.cargo.all_features);
+ *features = get(value, "/checkOnSave/features").unwrap_or(self.cargo.features.clone());
}
}
};
"markdownDescription": "Check with all features (will be passed as `--all-features`). Defaults to `rust-analyzer.cargo.allFeatures`."
},
"rust-analyzer.checkOnSave.features": {
- "type": "array",
+ "type": [
+ "null",
+ "array"
+ ],
"items": {
"type": "string"
},
- "default": [],
+ "default": null,
"description": "List of features to activate. Defaults to `rust-analyzer.cargo.features`."
},
"rust-analyzer.inlayHints.enable": {