Skip to content

[stable] 1.98.1 release - #161555

Merged
rust-bors[bot] merged 5 commits into
rust-lang:stablefrom
lcnr:backport-erased-handling
Sep 1, 2026
Merged

rust-bors[bot] merged 5 commits into
rust-lang:stablefrom
lcnr:backport-erased-handling

Conversation

@lcnr

@lcnr lcnr commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

View all comments

Backport of "rerun in original typing mode if we meet any opaques in post analysis" #158993 to stable, fixes #161441

We didn't notice that a beta cutoff happened between #156742 and #158993 and it's easy to forget that we need to be careful with next-solver bugs as they can affect stable via coherence and impossible_predicates.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Aug 22, 2026
@rustbot

rustbot commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

r? @davidtwco

rustbot has assigned @davidtwco.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

@rustbot

This comment has been minimized.

@lcnr lcnr changed the title Backport erased handling backport "rerun in original typing mode if we meet any opaques in post analysis" to stable Aug 22, 2026
@lcnr lcnr added the stable-nominated Nominated for backporting to the compiler in the stable channel. label Aug 22, 2026
@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the T-release Relevant to the release subteam, which will review and decide on the PR/issue. label Aug 22, 2026
@lcnr

lcnr commented Aug 22, 2026

Copy link
Copy Markdown
Contributor Author

no idea if this is correct for a stable backport xd

@rust-log-analyzer

This comment has been minimized.

@lcnr
lcnr force-pushed the backport-erased-handling branch from 0237223 to c10713e Compare August 23, 2026 06:57
@rust-log-analyzer

This comment was marked as outdated.

@cuviper

cuviper commented Aug 24, 2026

Copy link
Copy Markdown
Member

no idea if this is correct for a stable backport xd

Normally we would just label the original PR and discuss from there, but that's ok.

Did the object test come from a different PR?

@lcnr

lcnr commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

the object test is from #161441.

#158993 was already merged on beta by then. So we don't have that test in our test suite (yet)

meta-codesync Bot pushed a commit to facebook/Lifeguard that referenced this pull request Aug 25, 2026
Summary:
D117423626 rust-lang/rust#161441

Miscompilation on 1.98.0 stable, waiting for PR rust-lang/rust#161555 before 1.98.1 release.

In the meantime, revert the 1.98.0 bump and wait.

Reviewed By: dtolnay

Differential Revision: D117431620

fbshipit-source-id: 7f93e5654ba6c2783e7411df47b62a1c3fdcc32c
meta-codesync Bot pushed a commit to facebookincubator/buck2-change-detector that referenced this pull request Aug 25, 2026
Summary:
D117423626 rust-lang/rust#161441

Miscompilation on 1.98.0 stable, waiting for PR rust-lang/rust#161555 before 1.98.1 release.

In the meantime, revert the 1.98.0 bump and wait.

Reviewed By: dtolnay

Differential Revision: D117431620

fbshipit-source-id: 7f93e5654ba6c2783e7411df47b62a1c3fdcc32c
meta-codesync Bot pushed a commit to facebook/ocamlrep that referenced this pull request Aug 25, 2026
Summary:
D117423626 rust-lang/rust#161441

Miscompilation on 1.98.0 stable, waiting for PR rust-lang/rust#161555 before 1.98.1 release.

In the meantime, revert the 1.98.0 bump and wait.

Reviewed By: dtolnay

Differential Revision: D117431620

fbshipit-source-id: 7f93e5654ba6c2783e7411df47b62a1c3fdcc32c
meta-codesync Bot pushed a commit to facebookincubator/reindeer that referenced this pull request Aug 25, 2026
Summary:
D117423626 rust-lang/rust#161441

Miscompilation on 1.98.0 stable, waiting for PR rust-lang/rust#161555 before 1.98.1 release.

In the meantime, revert the 1.98.0 bump and wait.

Reviewed By: dtolnay

Differential Revision: D117431620

fbshipit-source-id: 7f93e5654ba6c2783e7411df47b62a1c3fdcc32c
meta-codesync Bot pushed a commit to facebook/buck2 that referenced this pull request Aug 25, 2026
Summary:
D117423626 rust-lang/rust#161441

Miscompilation on 1.98.0 stable, waiting for PR rust-lang/rust#161555 before 1.98.1 release.

In the meantime, revert the 1.98.0 bump and wait.

Reviewed By: dtolnay

Differential Revision: D117431620

fbshipit-source-id: 7f93e5654ba6c2783e7411df47b62a1c3fdcc32c
meta-codesync Bot pushed a commit to meta-pytorch/monarch that referenced this pull request Aug 26, 2026
Summary:
D117423626 rust-lang/rust#161441

Miscompilation on 1.98.0 stable, waiting for PR rust-lang/rust#161555 before 1.98.1 release.

In the meantime, revert the 1.98.0 bump and wait.

Reviewed By: dtolnay

Differential Revision: D117431620

fbshipit-source-id: 7f93e5654ba6c2783e7411df47b62a1c3fdcc32c
@jieyouxu jieyouxu closed this Aug 26, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 26, 2026
@jieyouxu jieyouxu reopened this Aug 26, 2026
@rust-bors rust-bors Bot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Aug 31, 2026
@rust-bors

rust-bors Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 5793c24 failed: CI. Failed job:

@cuviper

cuviper commented Aug 31, 2026

Copy link
Copy Markdown
Member

That looks like the cache problem that I hit on beta #161422 too:
https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/GCC.20broken.20tests.20passed.20auto.20CI/near/619144057

... and I ultimately had to give that a unique cache-busting value (beta-1) before it would pass.

(cherry picked and altered to random value from commit 93a81b4)
@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 31, 2026
@Mark-Simulacrum

Copy link
Copy Markdown
Member

@bors r+ rollup=never p=100

@rust-bors

rust-bors Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4014df6 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Aug 31, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 1, 2026
[stable] 1.98.1 release



Backport of "rerun in original typing mode if we meet any opaques in post analysis" #158993 to stable, fixes #161441

We didn't notice that a beta cutoff happened between #156742 and #158993 and it's easy to forget that we need to be careful with next-solver bugs as they can affect stable via coherence and `impossible_predicates`.
@JonathanBrouwer

Copy link
Copy Markdown
Member

Not gonna finish in time, let's retry
@bors cancel

@rust-bors

rust-bors Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Auto build was cancelled. Cancelled workflows:

The next pull request likely to be tested is #161555.

@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 1, 2026
@rust-bors

rust-bors Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: Mark-Simulacrum
Duration: 5h 30m 32s
Pushing 48a229c to stable...

@rust-bors
rust-bors Bot merged commit 48a229c into rust-lang:stable Sep 1, 2026
14 checks passed
@rustbot rustbot added this to the 1.98.1 milestone Sep 1, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 4, 2026
Add regression test from 1.98.1

Regression test for rust-lang#161441. The file contents are taken directly from [`41c7a25` (rust-lang#161555)](rust-lang@41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 4, 2026
Add regression test from 1.98.1

Regression test for rust-lang#161441. The file contents are taken directly from [`41c7a25` (rust-lang#161555)](rust-lang@41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 4, 2026
Add regression test from 1.98.1

Regression test for rust-lang#161441. The file contents are taken directly from [`41c7a25` (rust-lang#161555)](rust-lang@41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 4, 2026
Add regression test from 1.98.1

Regression test for rust-lang#161441. The file contents are taken directly from [`41c7a25` (rust-lang#161555)](rust-lang@41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 4, 2026
Add regression test from 1.98.1

Regression test for rust-lang#161441. The file contents are taken directly from [`41c7a25` (rust-lang#161555)](rust-lang@41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 4, 2026
Add regression test from 1.98.1

Regression test for rust-lang#161441. The file contents are taken directly from [`41c7a25` (rust-lang#161555)](rust-lang@41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 4, 2026
Add regression test from 1.98.1

Regression test for rust-lang#161441. The file contents are taken directly from [`41c7a25` (rust-lang#161555)](rust-lang@41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
rust-bors Bot pushed a commit that referenced this pull request Sep 5, 2026
Rollup merge of #162291 - theemathas:add-1.98.1-test, r=lqd

Add regression test from 1.98.1

Regression test for #161441. The file contents are taken directly from [`41c7a25` (#161555)](41c7a25), which was previously committed directly to the 1.98.1 stable release, but not to the main branch.
antiguru added a commit to MaterializeInc/materialize that referenced this pull request Sep 17, 2026
CI derives its stable toolchain from the `rust-version` field in the
root `Cargo.toml`, so that field is what decides which warnings CI can
see. Holding it at 1.97.1 meant the lints Rust 1.98 introduced only
showed up when someone built locally, which is how the warnings fixed in
#38619 went unnoticed. Raising it closes that gap. Cargo.lock needs no
change, which matters because the doc test job resolves with `--locked`.

The pin is 1.98.1 rather than 1.98.0. 1.98.0 shipped an open
`P-critical` miscompilation, rust-lang/rust#161441: rustc could wrongly
decide an impl's predicates were impossible when they involved
associated-type projections plus an opaque type, emit a vacant vtable
entry, and leave a zero in the method slot, so safe code dispatched
through a null pointer. That was silent at compile time, and
`rust-version` selects the toolchain in the `stable` ci-builder flavor
that builds the shipped images, so it would have reached release
artifacts. rust-lang/rust#158993 fixed it after the 1.98 beta cutoff and
rust-lang/rust#161555 backported it for 1.98.1, which is now the current
stable release.

Rust 1.98.1 uses LLVM 22.1.8, matching the `clang-22`, `lld-22`, and
`llvm-22` packages the CI builder image already installs, so the
Dockerfile needs no accompanying change. The comment on that apt stanza
asks for the two to move together, and they still agree. Bumping
`rust-version` does change the builder image tag, because the tag hashes
the build arguments and `RUST_VERSION` is one of them.
`ci/mkpipeline.sh` detects the missing tag and inserts bootstrap steps
that build and push the stable, min, and console flavors for both
architectures, so the first build on this branch will be slow but needs
no manual intervention.

The nightly pin moves to 2026-09-02. The note that pinned it to
2026-08-02 pointed at rust-lang/rust#160439, a rustdoc hang that broke
the Doctests job, and that issue was closed as completed on 2026-08-06.
The note is removed rather than reworded, because the constraint it
described no longer exists.

Advancing the nightly does make rustdoc's `redundant_explicit_links`
lint fire, and `bin/doc` runs with `RUSTDOCFLAGS=-D warnings`, so those
become errors. Eight doc comments in `mz-avro` and `mz-pgtest` spell an
intra-doc link as a label plus an explicit legacy HTML path that
resolves to the same destination. Dropping the explicit target is the
rewrite rustdoc itself suggests, and every referenced item is in scope
at the link site. The `flush` links in the Avro writer keep their
explicit targets, because a fragment path is not redundant with its
label and rustdoc does not flag them.

### Outstanding before merge

`bin/lint-versions` records the Rust version that has been checked for
compilation time regressions, and it is updated here so `bin/lint`
passes. **That validation has not been performed.** Team Testing should
confirm 1.98.1 before this merges.

Two further caveats for reviewers. The `cargo test --doc` job could not
be exercised locally because that machine has no `protoc`, so it is
covered only by CI. Building the nightly builder image also runs `cargo
miri setup` and installs `cargo-fuzz`, neither of which can be checked
outside an image build; both fail loudly in the bootstrap step rather
than silently. Finally, a toolchain bump surfaces latent problems
anywhere in the tree, not only in the diff, so a failure on this branch
may point at code it does not touch.

### Release notes

No user-visible changes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-bors This PR was explicitly merged by bors. stable-accepted Accepted for backporting to the compiler in the stable channel. stable-nominated Nominated for backporting to the compiler in the stable channel. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.