[stable] 1.98.1 release - #161555
[stable] 1.98.1 release#161555
Conversation
|
r? @davidtwco rustbot has assigned @davidtwco. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
no idea if this is correct for a stable backport xd |
This comment has been minimized.
This comment has been minimized.
0237223 to
c10713e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
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? |
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
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
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
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
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
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
|
💔 Test for 5793c24 failed: CI. Failed job:
|
|
That looks like the cache problem that I hit on beta #161422 too: ... 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)
|
@bors r+ rollup=never p=100 |
This comment has been minimized.
This comment has been minimized.
[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`.
|
Not gonna finish in time, let's retry |
|
Auto build was cancelled. Cancelled workflows: The next pull request likely to be tested is #161555. |
This comment has been minimized.
This comment has been minimized.
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.
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.
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.
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.
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.
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.
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.
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>
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.