Skip to content

Commit d545220

Browse files
authored
Rollup merge of #111982 - jyn514:disable-incremental, r=Mark-Simulacrum
Revert "Enable incremental independent of stage" This reverts commit 827f656. Incremental is not sound to use across stages. Arbitrary changes to the compiler can invalidate the incremental cache - even changes to normal queries, not incremental itself! - and we do not currently enable `incremental-verify-ich` in bootstrap. Since 2018, we highly recommend and nudge users towards stage 1 builds instead of stage 2, and using `keep-stage` for anything other than libstd is very rare. I don't think the risk of unsoundness is worth the very minor speedup when building libstd. Disable incremental to avoid spurious panics and miscompilations when building with the stage 1 and 2 sysroot. Combined with #111329, this should fix #76720. r? `@Mark-Simulacrum`
2 parents f2f0e6c + b42ff20 commit d545220

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/bootstrap/builder.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -1786,7 +1786,10 @@ impl<'a> Builder<'a> {
17861786
cargo.env("RUSTC_TLS_MODEL_INITIAL_EXEC", "1");
17871787
}
17881788

1789-
if self.config.incremental {
1789+
// Ignore incremental modes except for stage0, since we're
1790+
// not guaranteeing correctness across builds if the compiler
1791+
// is changing under your feet.
1792+
if self.config.incremental && compiler.stage == 0 {
17901793
cargo.env("CARGO_INCREMENTAL", "1");
17911794
} else {
17921795
// Don't rely on any default setting for incr. comp. in Cargo

0 commit comments

Comments
 (0)