Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Tracking: Deduplicate toolchains, components and/or artifacts

Đang mở
#4,663 12 bình luận 9 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@cachebag đang làm issue này rồi.

Từ ngày 20/7/2026.

  • #4965 của @cachebag — đang mở

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
30/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Ít trao đổi
Công nghệ
rust
Lĩnh vực
cli, devtools

Hướng nghiên cứu

Bắt đầu bằng cách xem xét các trường hợp đã được báo cáo (#555, #1974, #1366 và #2617), hành vi của rustup toolchain install và các đề xuất liên quan #3937, #731 và #4636. Issue này mang tính thăm dò: để hoàn tất sẽ cần có một thiết kế được thống nhất nhằm loại bỏ trùng lặp các artifact, component hoặc toolchain trước khi có thể xác định phạm vi triển khai.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

E-mentor enhancement
Problem you are trying to solve

It happens from time to time that the user gets confused about why rustup toolchain install stable, rustup toolchain install 1.92 and rustup toolchain install 1.92.0 require separate and duplicate/redundant downloads when they are essentially the same thing (given that the current stable is 1.92.0).

Such reports include:

The status quo is very well explained in the quote below:

Firstly, 1.70 and 1.70.0 are not the same toolchain. They might be on a given date, but once 1.70.1 releases, they are not.

Secondly, the installed components are currently defined as separate for each toolchain; adding a component that isn't expected might be strange and conceivable a bug for some developers - and turning minor versions into symlinks to concrete versions will have that effect, as you would no longer have separate component lists.
https://github.com/rust-lang/rustup/issues/1366#issuecomment-1633065070

In short, 1.92.0 is a "fixed target" that will always be pointing to that very version of the toolchain, but the other two are "moving target"s: 1.92 will be upgradable to any later 1.92.*, and stable to any later stable. These toolchains are logically separated and I have no intentions to change that, but physically this separation is not an absolute must.

Solution you'd like

A potential solution is to borrow from PNPM and use hard links or junctions that reference a user-global artifact pool. This might have some interesting interactions with multiple proposals, e.g.

  • #3937
  • #731
  • #4636

Another choice could be providing a user-global component (or even toolchain) pool instead of an artifact pool, depending on the flexibility we'd like to achieve.

I personally think choosing the toolchain pool is a bad idea since it turns out sometimes multiple toolchains share the same component esp. when they are not updated.

Notes

No response

Ngôn ngữ chính
Rust
Star
7.1k
Fork
1.1k
Merge trung bình
1 ngày 10 giờ
Pull request đã merge (30 ngày)
42

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của rust-lang/rustup

Tất cả issue của rust-lang/rustup

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.