Skip to content

Commit ef9419b

Browse files
committed
Extract env var extraction out into a helper function
1 parent 02b852c commit ef9419b

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

cargo-miri/bin.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -899,18 +899,7 @@ fn phase_rustc(mut args: env::Args, phase: RustcPhase) {
899899
if verbose > 0 {
900900
eprint!("[cargo-miri rustc] ");
901901
if verbose > 1 {
902-
let mut envs = HashMap::new();
903-
for (key, value) in std::env::vars() {
904-
envs.insert(key, value);
905-
}
906-
for (key, value) in cmd.get_envs() {
907-
if let Some(value) = value {
908-
envs.insert(key.to_str().unwrap().into(), value.to_str().unwrap().to_owned());
909-
} else {
910-
envs.remove(key.to_str().unwrap());
911-
}
912-
}
913-
for (key, value) in envs {
902+
for (key, value) in env_vars_from_cmd(&cmd) {
914903
eprintln!("{key}={value:?} \\");
915904
}
916905
}
@@ -933,6 +922,23 @@ fn phase_rustc(mut args: env::Args, phase: RustcPhase) {
933922
}
934923
}
935924

925+
fn env_vars_from_cmd(cmd: &Command) -> Vec<(String, String)> {
926+
let mut envs = HashMap::new();
927+
for (key, value) in std::env::vars() {
928+
envs.insert(key, value);
929+
}
930+
for (key, value) in cmd.get_envs() {
931+
if let Some(value) = value {
932+
envs.insert(key.to_str().unwrap().into(), value.to_str().unwrap().to_owned());
933+
} else {
934+
envs.remove(key.to_str().unwrap());
935+
}
936+
}
937+
let mut envs: Vec<_> = envs.into_iter().collect();
938+
envs.sort();
939+
envs
940+
}
941+
936942
#[derive(Debug, Copy, Clone, PartialEq)]
937943
enum RunnerPhase {
938944
/// `cargo` is running a binary

0 commit comments

Comments
 (0)