Skip to content

Commit 51f46f2

Browse files
authored
fix(rustup): installed toolchains for legacy rustup (#1683)
Fixes #1678 Unfortunately some installations use legacy versions, my previous fix was only working for the current rustup >= 1.28.0.
2 parents 833e90e + 3e09576 commit 51f46f2

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/rustup.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,14 @@ pub fn active_toolchain(msg_info: &mut MessageInfo) -> Result<String> {
8585

8686
pub fn installed_toolchains(msg_info: &mut MessageInfo) -> Result<Vec<String>> {
8787
let out = rustup_command(msg_info, true)
88-
.args(["toolchain", "list", "--quiet"]) // suppress " (active, default)" suffix
88+
.args(["toolchain", "list"]) // --quiet would be available from 1.28.0
8989
.run_and_get_stdout(msg_info)?;
9090

91-
Ok(out.lines().map(|l| l.trim().to_owned()).collect())
91+
// Emulate --quiet by removing suffixes like " (active, default)" or " (override)" manually
92+
Ok(out
93+
.lines()
94+
.map(|l| l.split_once(" (").map_or(l.trim(), |(a, _)| a).to_owned())
95+
.collect())
9296
}
9397

9498
pub fn available_targets(

0 commit comments

Comments
 (0)