rust-lang / rust-lang/rustup

Project: simplification

Open
#1,611 22 comments 11 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

We could simplify Rustup a lot. It was built with some very ambitious goals and it is clear that some of things will never happen, but the code is designed to accommodate them causing unnecessary complexity. It is also backwards compatible with very old versions of Rust and Rustup. There is lots of opportunity to reduce complexity. Some ideas:

  • remove telemetry (this has never been used and is not that useful in any case)
  • remove support for v1 manifests (we should still detect and error out with a message to delete things manually or whatever)
  • support fewer ways to install Rust
  • use standard logging rather than notifications
  • merge some of the crates (probably only rustup and rustup-dist)

cc @rust-lang/cargo for any suggestions of things we should/should not do

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 breaking the proposal into the named areas: telemetry, v1 manifests, installation paths, notifications, and crate boundaries. Determine which simplifications are still wanted and define the compatibility and error-message expectations before changing code; done requires an agreed scope rather than implementing every idea listed.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.