When a project's rust-toolchain.toml specifies version 1.87.0, it does not use the installed stable(1.87.0) toolchain, but installs another 1.87.0 toolchain.
kpreid
June 9, 2025, 12:34pm
2
rustup
just doesn't identify identical content. It's not quite as simple as letting one be an alias for the other:
opened 10:31AM - 23 Dec 20 UTC
enhancement
help wanted
question
I'm currently on rustc `nightly-x86_64-unknown-linux-gnu - Up to date : 1.50.0-n… ightly (bb1fbbf84 2020-12-22)`.
When I use a `rust-toolchain` file and specify `nightly` as a compiler, this works fine.
But when I pin the version to the current nightly in particular
````
[toolchain]
channel = "nightly-2020-12-22"
````
rustup will redownload and reinstall that nightly although it is already installed.
rustup --version
````
rustup 1.23.1 (3df2264a9 2020-11-30)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.50.0-nightly (bb1fbbf84 2020-12-22)`
````
rustup show
````
Default host: x86_64-unknown-linux-gnu
rustup home: /home/matthias/.rustup
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu
beta-x86_64-unknown-linux-gnu
nightly-2020-10-25-x86_64-unknown-linux-gnu
nightly-2020-11-29-x86_64-unknown-linux-gnu
nightly-2020-12-09-x86_64-unknown-linux-gnu
nightly-2020-12-11-x86_64-unknown-linux-gnu
nightly-2020-12-14-x86_64-unknown-linux-gnu
nightly-2020-12-20-x86_64-unknown-linux-gnu
nightly-2020-12-22-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)
1.20-x86_64-unknown-linux-gnu
1.40-x86_64-unknown-linux-gnu
1.41-x86_64-unknown-linux-gnu
1.42-x86_64-unknown-linux-gnu
1.43-x86_64-unknown-linux-gnu
1.44-x86_64-unknown-linux-gnu
1.45-x86_64-unknown-linux-gnu
1.46-x86_64-unknown-linux-gnu
1.47-x86_64-unknown-linux-gnu
master
active toolchain
----------------
nightly-x86_64-unknown-linux-gnu (default)
rustc 1.50.0-nightly (bb1fbbf84 2020-12-22)
````
It's too bad for my disk space.
Vorpal
June 12, 2025, 6:01am
4
On Linux you could use a file system with built in deduplication support (reflinks) such as btrfs or zfs. You can use a tool such as duperemove to do the block level deduplication with those file systems.
I have no idea if equivalent features exist on other platforms.