Auto merge of #140282 - matthiaskrgr:rollup-g6ze4jj, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #137653 (Deprecate the unstable `concat_idents!`)
 - #138957 (Update the index of Option to make the summary more comprehensive)
 - #140006 (ensure compiler existance of tools on the dist step)
 - #140143 (Move `sys::pal::os::Env` into `sys::env`)
 - #140202 (Make #![feature(let_chains)] bootstrap conditional in compiler/)
 - #140236 (norm nested aliases before evaluating the parent goal)
 - #140257 (Some drive-by housecleaning in `rustc_borrowck`)
 - #140278 (Don't use item name to look up associated item from trait item)

r? `@ghost`
`@rustbot` modify labels: rollup
This commit is contained in:
bors 2025-04-25 12:27:16 +00:00
commit 8f43b85954
119 changed files with 1408 additions and 1513 deletions

View file

@ -421,13 +421,13 @@ impl Step for Rustc {
builder.install(&rustdoc, &image.join("bin"), FileType::Executable);
}
let ra_proc_macro_srv_compiler =
builder.compiler_for(compiler.stage, builder.config.build, compiler.host);
builder.ensure(compile::Rustc::new(ra_proc_macro_srv_compiler, compiler.host));
if let Some(ra_proc_macro_srv) = builder.ensure_if_default(
tool::RustAnalyzerProcMacroSrv {
compiler: builder.compiler_for(
compiler.stage,
builder.config.build,
compiler.host,
),
compiler: ra_proc_macro_srv_compiler,
target: compiler.host,
},
builder.kind,
@ -1178,6 +1178,8 @@ impl Step for Cargo {
let compiler = self.compiler;
let target = self.target;
builder.ensure(compile::Rustc::new(compiler, target));
let cargo = builder.ensure(tool::Cargo { compiler, target });
let src = builder.src.join("src/tools/cargo");
let etc = src.join("src/etc");
@ -1232,6 +1234,8 @@ impl Step for RustAnalyzer {
let compiler = self.compiler;
let target = self.target;
builder.ensure(compile::Rustc::new(compiler, target));
let rust_analyzer = builder.ensure(tool::RustAnalyzer { compiler, target });
let mut tarball = Tarball::new(builder, "rust-analyzer", &target.triple);
@ -1274,6 +1278,8 @@ impl Step for Clippy {
let compiler = self.compiler;
let target = self.target;
builder.ensure(compile::Rustc::new(compiler, target));
// Prepare the image directory
// We expect clippy to build, because we've exited this step above if tool
// state for clippy isn't testing.
@ -1324,9 +1330,12 @@ impl Step for Miri {
if !builder.build.unstable_features() {
return None;
}
let compiler = self.compiler;
let target = self.target;
builder.ensure(compile::Rustc::new(compiler, target));
let miri = builder.ensure(tool::Miri { compiler, target });
let cargomiri = builder.ensure(tool::CargoMiri { compiler, target });
@ -1463,6 +1472,8 @@ impl Step for Rustfmt {
let compiler = self.compiler;
let target = self.target;
builder.ensure(compile::Rustc::new(compiler, target));
let rustfmt = builder.ensure(tool::Rustfmt { compiler, target });
let cargofmt = builder.ensure(tool::Cargofmt { compiler, target });
let mut tarball = Tarball::new(builder, "rustfmt", &target.triple);
@ -2328,6 +2339,8 @@ impl Step for LlvmBitcodeLinker {
let compiler = self.compiler;
let target = self.target;
builder.ensure(compile::Rustc::new(compiler, target));
let llbc_linker =
builder.ensure(tool::LlvmBitcodeLinker { compiler, target, extra_features: vec![] });

View file

@ -449,6 +449,7 @@ mod dist {
use pretty_assertions::assert_eq;
use super::{Config, TEST_TRIPLE_1, TEST_TRIPLE_2, TEST_TRIPLE_3, first, run_build};
use crate::Flags;
use crate::core::builder::*;
fn configure(host: &[&str], target: &[&str]) -> Config {
@ -687,6 +688,37 @@ mod dist {
);
}
/// This also serves as an important regression test for <https://github.com/rust-lang/rust/issues/138123>
/// and <https://github.com/rust-lang/rust/issues/138004>.
#[test]
fn dist_all_cross() {
let cmd_args =
&["dist", "--stage", "2", "--dry-run", "--config=/does/not/exist"].map(str::to_owned);
let config_str = r#"
[rust]
channel = "nightly"
[build]
extended = true
build = "i686-unknown-haiku"
host = ["i686-unknown-netbsd"]
target = ["i686-unknown-netbsd"]
"#;
let config = Config::parse_inner(Flags::parse(cmd_args), |&_| toml::from_str(config_str));
let mut cache = run_build(&[], config);
// Stage 2 `compile::Rustc` should **NEVER** be cached here.
assert_eq!(
first(cache.all::<compile::Rustc>()),
&[
rustc!(TEST_TRIPLE_1 => TEST_TRIPLE_1, stage = 0),
rustc!(TEST_TRIPLE_1 => TEST_TRIPLE_1, stage = 1),
rustc!(TEST_TRIPLE_1 => TEST_TRIPLE_3, stage = 1),
]
);
}
#[test]
fn build_all() {
let build = Build::new(configure(

View file

@ -2,7 +2,10 @@
The tracking issue for this feature is: [#29599]
This feature is deprecated, to be replaced by [`macro_metavar_expr_concat`].
[#29599]: https://github.com/rust-lang/rust/issues/29599
[`macro_metavar_expr_concat`]: https://github.com/rust-lang/rust/issues/124225
------------------------