Skip to content

Commit 99b8140

Browse files
bors[bot]matklad
andauthored
Merge #5470
5470: Propagate cargo.target to checkOnSave r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
2 parents 5766436 + a20b8d7 commit 99b8140

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

crates/flycheck/src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub use cargo_metadata::diagnostic::{
2222
pub enum FlycheckConfig {
2323
CargoCommand {
2424
command: String,
25+
target_tripple: Option<String>,
2526
all_targets: bool,
2627
all_features: bool,
2728
features: Vec<String>,
@@ -178,6 +179,7 @@ impl FlycheckActor {
178179
let mut cmd = match &self.config {
179180
FlycheckConfig::CargoCommand {
180181
command,
182+
target_tripple,
181183
all_targets,
182184
all_features,
183185
extra_args,
@@ -187,6 +189,10 @@ impl FlycheckActor {
187189
cmd.arg(command);
188190
cmd.args(&["--workspace", "--message-format=json", "--manifest-path"])
189191
.arg(self.workspace_root.join("Cargo.toml"));
192+
193+
if let Some(target) = target_tripple {
194+
cmd.args(&["--target", target.as_str()]);
195+
}
190196
if *all_targets {
191197
cmd.arg("--all-targets");
192198
}

crates/rust-analyzer/src/config.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ impl Config {
148148
rustfmt: RustfmtConfig::Rustfmt { extra_args: Vec::new() },
149149
flycheck: Some(FlycheckConfig::CargoCommand {
150150
command: "check".to_string(),
151+
target_tripple: None,
151152
all_targets: true,
152153
all_features: false,
153154
extra_args: Vec::new(),
@@ -198,7 +199,7 @@ impl Config {
198199
all_features: data.cargo_allFeatures,
199200
features: data.cargo_features.clone(),
200201
load_out_dirs_from_check: data.cargo_loadOutDirsFromCheck,
201-
target: data.cargo_target,
202+
target: data.cargo_target.clone(),
202203
};
203204

204205
self.proc_macro_srv = if data.procMacro_enable {
@@ -223,6 +224,7 @@ impl Config {
223224
}
224225
Some(_) | None => FlycheckConfig::CargoCommand {
225226
command: data.checkOnSave_command,
227+
target_tripple: data.checkOnSave_target.or(data.cargo_target),
226228
all_targets: data.checkOnSave_allTargets,
227229
all_features: data.checkOnSave_allFeatures.unwrap_or(data.cargo_allFeatures),
228230
features: data.checkOnSave_features.unwrap_or(data.cargo_features),
@@ -384,10 +386,11 @@ config_data! {
384386
cargo_noDefaultFeatures: bool = false,
385387
cargo_target: Option<String> = None,
386388

389+
checkOnSave_enable: bool = false,
387390
checkOnSave_allFeatures: Option<bool> = None,
388391
checkOnSave_allTargets: bool = true,
389392
checkOnSave_command: String = "check".into(),
390-
checkOnSave_enable: bool = false,
393+
checkOnSave_target: Option<String> = None,
391394
checkOnSave_extraArgs: Vec<String> = Vec::new(),
392395
checkOnSave_features: Option<Vec<String>> = None,
393396
checkOnSave_overrideCommand: Option<Vec<String>> = None,

0 commit comments

Comments
 (0)