about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-01-02 13:29:37 +0000
committerbors <bors@rust-lang.org>2025-01-02 13:29:37 +0000
commit6ca66598ad63aa73d253f2390e3dbec6ba19ab24 (patch)
treed1af35b6e6f9681acb6259c3d831f108f715b4c9
parentbf6f8a4d328f7f3b0f6ea8205ad28591cc11aafd (diff)
parent552c1f5f45ec8b8cb5c9427754a7c3d16ca9f741 (diff)
downloadrust-6ca66598ad63aa73d253f2390e3dbec6ba19ab24.tar.gz
rust-6ca66598ad63aa73d253f2390e3dbec6ba19ab24.zip
Auto merge of #135023 - jieyouxu:boop, r=onur-ozkan
bootstrap: flip `compile::Rustc` vs `compile::Assemble`

The `PathSet` prefix matching unfortunately also has implications for `./x build compiler --stage 0`, because the path filter `"compiler"` gets consumed by `compile::Rustc` step first after `PathSet` prefix matching, whereas before `PathSet` prefix matching, `compile::Rustc` would not have consumed `"compiler"`.

This merely papers over #134970 to unblock contributors from using `./x build compiler --stage 0`.

The `PathSet` prefix matching behavior is tracked in #135022.

Closes #134970.
-rw-r--r--src/bootstrap/src/core/builder/mod.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs
index c3a74683cd3..aaee1b08a40 100644
--- a/src/bootstrap/src/core/builder/mod.rs
+++ b/src/bootstrap/src/core/builder/mod.rs
@@ -825,8 +825,12 @@ impl<'a> Builder<'a> {
         match kind {
             Kind::Build => describe!(
                 compile::Std,
-                compile::Rustc,
+                // FIXME(#135022): `compile::Assemble` **must** come before `compile::Rustc` after
+                // `PathSet` also permits prefix-matching, because `compile::Rustc` can consume the
+                // `"compiler"` path filter first, causing `compile::Assemble` to no longer run when
+                // the user writes `./x build compiler --stage 0`.
                 compile::Assemble,
+                compile::Rustc,
                 compile::CodegenBackend,
                 compile::StartupObjects,
                 tool::BuildManifest,