Skip to content

Document dist components we ship #141386

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
jieyouxu opened this issue May 22, 2025 · 6 comments
Open

Document dist components we ship #141386

jieyouxu opened this issue May 22, 2025 · 6 comments
Labels
A-dist-components Area: dist components, e.g. `rustc-dev`, `rustc-src`, etc. A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue.

Comments

@jieyouxu
Copy link
Member

jieyouxu commented May 22, 2025

E.g. #138647.

We should document:

@jieyouxu jieyouxu added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools labels May 22, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label May 22, 2025
@jieyouxu jieyouxu removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label May 22, 2025
@jieyouxu
Copy link
Member Author

jieyouxu commented May 22, 2025

cc @Mark-Simulacrum: you might be someone who have some clues about what the purposes of the (less obvious) dist components we ship are... Are there any docs or historical discussions that you know of for them?

@Mark-Simulacrum
Copy link
Member

Historical discussions are probably just in the PR(s) that landed them if anywhere. I can try to get a PR out for the steps in dist.rs in bootstrap having doc comments perhaps, as a starting point? Unless we want the docs to live elsewhere -- depends I guess how much this is externally guaranteed vs. useful for ourselves.

@jieyouxu
Copy link
Member Author

jieyouxu commented May 22, 2025

Yeah, part of this is I don't actually know what we do guarantee, be it external or internal (often by implicit assumptions). For instance, I think miri depends on rustc-dev, so even if it's technically "internal" it's still logistically depended upon.

cc @RalfJung is that description accurate for miri?

@RalfJung
Copy link
Member

I don't know what you mean by "internal" vs "external", but all tools that use the rustc driver depend on rustc-dev -- we have some of those in-tree (Miri, clippy), and there's plenty more out-of-tree (e.g. all the verification tools, minirust, and I guess klint as well).

@jieyouxu
Copy link
Member Author

jieyouxu commented May 22, 2025

I don't know what you mean by "internal" vs "external", but all tools that use the rustc driver depend on rustc-dev -- we have some of those in-tree (Miri, clippy), and there's plenty more out-of-tree (e.g. all the verification tools, minirust, and I guess klint as well).

I don't think the distinction matters that much tbh, since if the rustc-dev component breaks our toolchain breaks (let alone other out-of-tree tools that depend on it) so...

@ehuss
Copy link
Contributor

ehuss commented May 22, 2025

The components are lightly documented at https://rust-lang.github.io/rustup/concepts/components.html.

Things like llvm-tools was accidentally "stabilized" due to a bug, and how people were using it. There are more questions and context in #85658, but so far the compiler team has not been able to answer the questions about it.

@jieyouxu jieyouxu added A-dist-components Area: dist components, e.g. `rustc-dev`, `rustc-src`, etc. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue. C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC labels May 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-dist-components Area: dist components, e.g. `rustc-dev`, `rustc-src`, etc. A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

5 participants