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