rust-lang / rust-lang/rustup

Rustup should know why a toolchain is installed and detect garbage toolchains

Open
#3,919 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
7k
Forks
1.1k
Avg merge
22h 40m
Merged PRs (30d)
46

Description

Problem you are trying to solve

a full rust toolchain is quite large, around 2GB. this puts the user in a tricky situation, where they don't want to have a bunch of extra toolchains installed, but they also don't want to accidentally delete a toolchain used by a project the use a lot, and then have to redownload it over slow wifi

Solution you'd like

either as part of the --verbose flag, or as a new flag (like list --why), rustup would display the reason that a specific toolchain was installed. if it was installed because of a rust-toolchain file, the path to that file is listed. toolchains installed before this update was made would have their reason listed as "unknown"

Notes

a possible improvment would be for rustup to track what rust-toolchain files reference a particular toolchain, although that would add significant complexity

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the rustup list --verbose flow and how rust-toolchain files cause toolchains to be installed. Define the recorded reasons, the "unknown" result for existing installations, and how the displayed path or reason indicates that the requested behavior is complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.