1
Fork 0

Auto merge of #138224 - onur-ozkan:fix-multiple-candidates, r=jieyouxu

skip `compile::Std` and `compile::Rustc` on `forced_compiler`

Fixes https://github.com/rust-lang/rust/issues/138220

Set `download-rustc = true/false` and run `x test tests/ui/meta/no_std-extern-libc.rs --force-rerun` to debug it.
This commit is contained in:
bors 2025-03-08 15:34:51 +00:00
commit 07292ccccd

View file

@ -121,10 +121,18 @@ impl Step for ToolBuild {
match self.mode {
Mode::ToolRustc => {
builder.ensure(compile::Std::new(self.compiler, self.compiler.host));
builder.ensure(compile::Rustc::new(self.compiler, target));
// If compiler was forced, its artifacts should be prepared earlier.
if !self.compiler.is_forced_compiler() {
builder.ensure(compile::Std::new(self.compiler, self.compiler.host));
builder.ensure(compile::Rustc::new(self.compiler, target));
}
}
Mode::ToolStd => {
// If compiler was forced, its artifacts should be prepared earlier.
if !self.compiler.is_forced_compiler() {
builder.ensure(compile::Std::new(self.compiler, target))
}
}
Mode::ToolStd => builder.ensure(compile::Std::new(self.compiler, target)),
Mode::ToolBootstrap => {} // uses downloaded stage0 compiler libs
_ => panic!("unexpected Mode for tool build"),
}