rust: Change cwd of cargo run-esque tasks to use package root, not dirname of current file as cwd (#44672)

This also applies to `cargo clean` one.

Closes #20873

Release Notes:

- rust: Changed cwd of tasks that spawn a binary target to the root of a
current package (which used to be a directory of the current source
file).
This commit is contained in:
Piotr Osiewicz
2025-12-11 23:47:40 +00:00
committed by GitHub
parent 717d898692
commit 8d0fff688f
+3 -3
View File
@@ -882,7 +882,7 @@ impl ContextProvider for RustContextProvider {
RUST_BIN_REQUIRED_FEATURES_FLAG_TASK_VARIABLE.template_value(),
RUST_BIN_REQUIRED_FEATURES_TASK_VARIABLE.template_value(),
],
cwd: Some("$ZED_DIRNAME".to_owned()),
cwd: Some(RUST_MANIFEST_DIRNAME_TASK_VARIABLE.template_value()),
tags: vec!["rust-main".to_owned()],
..TaskTemplate::default()
},
@@ -904,14 +904,14 @@ impl ContextProvider for RustContextProvider {
label: "Run".into(),
command: "cargo".into(),
args: run_task_args,
cwd: Some("$ZED_DIRNAME".to_owned()),
cwd: Some(RUST_MANIFEST_DIRNAME_TASK_VARIABLE.template_value()),
..TaskTemplate::default()
},
TaskTemplate {
label: "Clean".into(),
command: "cargo".into(),
args: vec!["clean".into()],
cwd: Some("$ZED_DIRNAME".to_owned()),
cwd: Some(RUST_MANIFEST_DIRNAME_TASK_VARIABLE.template_value()),
..TaskTemplate::default()
},
];