rust-lang / rustup

The Rust toolchain installer
https://rust-lang.github.io/rustup/
Apache License 2.0
6.06k stars 878 forks source link

`toolchain list` should give more help with overrides #3097

Open jsha opened 1 year ago

jsha commented 1 year ago

Problem you are trying to solve

I was trying to build https://github.com/rust-lang/www.rust-lang.org and encountering some very confusing behavior - it was complaining about edition 2021 stuff, even though I am using the latest nightly as my default toolchain.

Eventually I thought to check rustup toolchain list, and saw:

stable-x86_64-unknown-linux-gnu
nightly-2021-04-15-x86_64-unknown-linux-gnu (override)
nightly-2021-10-01-x86_64-unknown-linux-gnu
nightly-2021-12-22-x86_64-unknown-linux-gnu
nightly-2022-01-01-x86_64-unknown-linux-gnu
nightly-2022-04-11-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)
myrust
stage1

I had never heard of overrides before! The first place I checked was rustup toolchain help, which didn't mention them. I search "rustup override", and found https://rust-lang.github.io/rustup/overrides.html, which answered my question; but I got confused again because, skimming, I just looked at the "directory override" and concluded I had none.

Solution you'd like

The help text should describe overrides.

Also, the (override) notation should indicate where the override came from, e.g.:

(override - $RUSTUP_TOOLCHAIN)
(override - `rustup override list`)
(override - ./rust-toolchain.toml)
(override - ./rust-toolchain)

Notes

No response

rami3l commented 1 month ago

FWIW rustup show has been providing much more since #3225:

> rustup --version
rustup 1.27.1+198 (81a71647f 2024-06-09)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.78.0 (9b00956e5 2024-04-29)`
> rustup show
Default host: aarch64-apple-darwin
rustup home:  /Users/rami3l/.rustup

installed toolchains
--------------------
stable-aarch64-apple-darwin (active, default)
nightly-aarch64-apple-darwin

active toolchain
----------------
name: stable-aarch64-apple-darwin
compiler: rustc 1.78.0 (9b00956e5 2024-04-29)
active because: it's the default toolchain
installed targets:
  aarch64-apple-darwin