Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Enable incremental independent of stage" #111982

Merged
merged 1 commit into from
Jun 4, 2023

Conversation

jyn514
Copy link
Member

@jyn514 jyn514 commented May 26, 2023

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

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels May 26, 2023
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.
@jyn514 jyn514 force-pushed the disable-incremental branch from 06f7cc9 to b42ff20 Compare May 26, 2023 05:01
@Mark-Simulacrum
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Jun 3, 2023

📌 Commit b42ff20 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 3, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 4, 2023
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#109093 (add `#[doc(alias="flatmap")]` to `Option::and_then`)
 - rust-lang#110701 (Fix `x test core` when download-rustc is enabled)
 - rust-lang#111982 (Revert "Enable incremental independent of stage")
 - rust-lang#112158 (Add portable-simd mention)
 - rust-lang#112172 (doc: improve explanation)
 - rust-lang#112178 (Fix bug where private item with intermediate doc hidden re-export was not inlined)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit d545220 into rust-lang:master Jun 4, 2023
@rustbot rustbot added this to the 1.72.0 milestone Jun 4, 2023
@jyn514 jyn514 deleted the disable-incremental branch December 8, 2023 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ICE: stage2 builds of rustc itself see metadata serialized by a different rustc
4 participants