diff options
| author | bors <bors@rust-lang.org> | 2024-08-12 22:17:05 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-08-12 22:17:05 +0000 |
| commit | db5704ffca0e4f7a55f49160c336d43be7c104e2 (patch) | |
| tree | e8a79424591200ed5fedbe653e8e93841fb20a38 /src | |
| parent | 91376f416222a238227c84a848d168835ede2cc3 (diff) | |
| parent | 522d43673a6998be3d494645c0e4e3ecb37baaa1 (diff) | |
Auto merge of #129024 - matthiaskrgr:rollup-uj1pd0x, r=matthiaskrgr
Rollup of 5 pull requests Successful merges: - #128712 (Normalize struct tail properly for `dyn` ptr-to-ptr casting in new solver) - #128912 (Store `do_not_recommend`-ness in impl header) - #129000 (bootstrap: clear miri ui-test deps when miri sysroot gets rebuilt) - #129013 (Remove unused script from run-make tests) - #129017 (Replace `std::fmt:FormatterFn` with `std::fmt::from_fn`) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'src')
| -rw-r--r-- | src/bootstrap/src/core/build_steps/test.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs index 597d7733abe..6ed001d8fd5 100644 --- a/src/bootstrap/src/core/build_steps/test.rs +++ b/src/bootstrap/src/core/build_steps/test.rs @@ -434,7 +434,7 @@ impl Miri { builder: &Builder<'_>, compiler: Compiler, target: TargetSelection, - ) -> String { + ) -> PathBuf { let miri_sysroot = builder.out.join(compiler.host.triple).join("miri-sysroot"); let mut cargo = builder::Cargo::new( builder, @@ -467,7 +467,7 @@ impl Miri { // Output is "<sysroot>\n". let sysroot = stdout.trim_end(); builder.verbose(|| println!("`cargo miri setup --print-sysroot` said: {sysroot:?}")); - sysroot.to_owned() + PathBuf::from(sysroot) } } @@ -520,12 +520,14 @@ impl Step for Miri { builder.ensure(compile::Std::new(target_compiler, host)); let host_sysroot = builder.sysroot(target_compiler); - // Miri has its own "target dir" for ui test dependencies. Make sure it gets cleared - // properly when rustc changes. Similar to `Builder::cargo`, we skip this in dry runs to - // make sure the relevant compiler has been set up properly. + // Miri has its own "target dir" for ui test dependencies. Make sure it gets cleared when + // the sysroot gets rebuilt, to avoid "found possibly newer version of crate `std`" errors. if !builder.config.dry_run() { let ui_test_dep_dir = builder.stage_out(host_compiler, Mode::ToolStd).join("miri_ui"); - builder.clear_if_dirty(&ui_test_dep_dir, &builder.rustc(host_compiler)); + // The mtime of `miri_sysroot` changes when the sysroot gets rebuilt (also see + // <https://github.com/RalfJung/rustc-build-sysroot/commit/10ebcf60b80fe2c3dc765af0ff19fdc0da4b7466>). + // We can hence use that directly as a signal to clear the ui test dir. + builder.clear_if_dirty(&ui_test_dep_dir, &miri_sysroot); } // Run `cargo test`. |
