Make `rustup update` completely update the default target before working on others
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 22h 40m
- Merged PRs (30d)
- 46
Description
Problem you are trying to solve
For anyone who has multiple targets installed, completing a rustup update can take quite a while. It seems the order of operations is:
- Download
rust-stdfor all installed targets - Download
cargo,rust-src, and other components - Download
rust-stdfor the native/default target (?) - Download
rustc - Remove old components
- Install downloaded components
However, often times only the default target is of immediate interest.
Solution you'd like
Instead, do something like the following order:
- Move the old toolchain directory to a different name
- Download and install
rustc - Download and install
rust-stdfor the default toolchain/target - Download and install components
- Download and install all remaining targets
- Remove the backup directory
This should make it feasible to start working with the most commonly used target within a couple of minutes while everything else updates in the background.
Notes
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the existing rustup update flow and its current download, installation, backup, and cleanup order. Compare that flow with the proposed default-target-first sequence, then verify that the default target becomes usable before other targets finish and that remaining components still update and cleanup completes successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, developer-experience
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100