-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-bootstrap-stagesArea: issues with the meaning of stage numbersArea: issues with the meaning of stage numbersA-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Description
Location
https://blog.rust-lang.org/inside-rust/2025/05/29/redesigning-the-initial-bootstrap-sequence/
Summary
x check
has changed behavior since #119899. my understanding of the new behavior, as explained to me by @onur-ozkan, is:
x check --stage 0 std
is a noop (✅ this is already in the post).x check --stage 0
is the same as before, except it skipsx check --stage 0 std
. (❌ not in the post)x check
without arguments is equivalent tox check --stage 0 && x check --stage 1 library
. this is very surprising to me and i wish it did not imply the latter command. but if it does imply the latter, we should document that instead of silently changing behavior. (❌ not in the post)
we should also say what people should switch to. i do not think the default behavior (x check
without arguments) is good for all use cases; see in particular #141955 and #t-infra/bootstrap > Stage 0 std redesign support thread @ 💬).
i suggest the following docs:
- if you have modified only std, use
x check --stage 1 std --set rust.download-rustc=true
- if you have modified only compiler, use
x check --stage 0 compiler
- if you have modified neither and are on a tier 1 platform, we recommend only
x check --stage 0 compiler
. it is very unlikely for checking std to break for a tier 1 platform when the compiler has not been modified. - in all other cases, we recommend running both commands in sequence:
x check --stage 0 compiler && x check --stage 1 std --set rust.download-rustc=true
cc #t-infra/bootstrap > Stage 0 std redesign support thread @ 💬
@rustbot label T-bootstrap A-bootstrap-stages
rrbutani
Metadata
Metadata
Assignees
Labels
A-bootstrap-stagesArea: issues with the meaning of stage numbersArea: issues with the meaning of stage numbersA-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)