bootstrap: temporarily flip compile::Rustc vs compile::Assemble

The PathSet prefix matching unfortunately also has implications for `./x
build compiler`, because the path filter `"compiler"` gets consumed by
`compile::Rustc` step first after PathSet prefix matching, whereas
before PathSet prefix matching, the later-registered `compile::Assemble`
step would've consumed the `"compiler"` path filter.

This merely papers over the issue with PathSet prefix handling to
unblock contributors for using `./x build compiler`.
This commit is contained in:
许杰友 Jieyou Xu (Joe) 2025-01-02 20:41:52 +08:00
parent c528b8c678
commit 552c1f5f45

View File

@ -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,