From b9fc8d41a408a6a8096058267dca5a018180a358 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 18 Sep 2024 09:28:05 -0500 Subject: [PATCH] fix(complete): Always check rustup for --target clap-rs/clap#5733 removed the rustup proxy so that `CARGO_COMPLETE=bash cargo +nightly` works (with a side benefit of removing the proxy overhead). As a downside, cargo no longer knows it is running within rustup, so we aren't reading `--target` candidates from rustup. This changes the code to always try rustup. It is likely a good enough source, even if the user isn't currently using it. The candidates should be about the same, just rustup hides some by default. Hiding just means it isn't shown by default but if only hidden candidates match, then we show them. --- src/cargo/util/command_prelude.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/cargo/util/command_prelude.rs b/src/cargo/util/command_prelude.rs index f0bc0e8a00c..a1ab0f54fdb 100644 --- a/src/cargo/util/command_prelude.rs +++ b/src/cargo/util/command_prelude.rs @@ -1099,10 +1099,8 @@ fn get_targets_from_metadata() -> CargoResult> { fn get_target_triples() -> Vec { let mut candidates = Vec::new(); - if is_rustup() { - if let Ok(targets) = get_target_triples_from_rustup() { - candidates = targets; - } + if let Ok(targets) = get_target_triples_from_rustup() { + candidates = targets; } if candidates.is_empty() {