From fb428dfee3252f378f796c7497a8fb29753c795d Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Thu, 21 Jul 2022 17:04:04 -0400 Subject: [PATCH] avoid redundant setting of env vars in phase_runner --- cargo-miri/bin.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/cargo-miri/bin.rs b/cargo-miri/bin.rs index c02847dfdd97..8b60d90520ab 100644 --- a/cargo-miri/bin.rs +++ b/cargo-miri/bin.rs @@ -1008,14 +1008,16 @@ fn phase_runner(mut binary_args: impl Iterator, phase: RunnerPhas // Set missing env vars. We prefer build-time env vars over run-time ones; see // for the kind of issue that fixes. for (name, val) in info.env { - if verbose > 0 { - if let Some(old_val) = env::var_os(&name) { - if old_val != val { - eprintln!( - "[cargo-miri runner] Overwriting run-time env var {:?}={:?} with build-time value {:?}", - name, old_val, val - ); - } + if let Some(old_val) = env::var_os(&name) { + if old_val == val { + // This one did not actually change, no need to re-set it. + // (This keeps the `debug_cmd` below more manageable.) + continue; + } else if verbose > 0 { + eprintln!( + "[cargo-miri runner] Overwriting run-time env var {:?}={:?} with build-time value {:?}", + name, old_val, val + ); } } cmd.env(name, val);