Skip to content

Toolchain upgrade to nightly-2026-10-22 - #1847

Merged
nilehmann merged 15 commits into
mainfrom
toolchain-upgrade
Oct 23, 2026
Merged

nilehmann merged 15 commits into
mainfrom
toolchain-upgrade

Conversation

@nilehmann

@nilehmann nilehmann commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

This is an automated PR to update the Rust toolchain to nightly-2026-10-22

Update failed when going from nightly-2026-10-21 to nightly-2026-10-22.
The failed automated run can be found here.

Please review the changes from rust-lang/rust@19833af up to rust-lang/rust@1a2c479

Log for this commit range

@github-actions github-actions Bot changed the title Toolchain upgrade to nightly-2026-10-13 Toolchain upgrade to nightly-2026-10-14 Oct 15, 2026
@github-actions github-actions Bot changed the title Toolchain upgrade to nightly-2026-10-14 Toolchain upgrade to nightly-2026-10-15 Oct 22, 2026
github-actions Bot and others added 14 commits October 22, 2026 02:20
`hir::Body::value` is now an inline `Expr` instead of a `&Expr`; borrow it
when visiting the body.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011bViu84sVjSqcUXB6S8fn3
rustc now predefines `invariant` as a symbol, which clashes with Flux's
extra symbol list and makes the driver panic at startup. Reuse rustc's
`sym::invariant` for `kw::Invariant` instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MwzTBgmEENMSxfmND2bT1M
`hir::GenericParamKind::Const` gained an `arg_pos` field; ignore it
when lifting generic params.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MwzTBgmEENMSxfmND2bT1M
@github-actions github-actions Bot changed the title Toolchain upgrade to nightly-2026-10-15 Toolchain upgrade to nightly-2026-10-22 Oct 22, 2026
@feliperodri

Copy link
Copy Markdown

@nilehmann, the verify-rust-std sync to nightly-2026-10-22 (model-checking/verify-rust-std#737) is waiting on this. With the current Flux pin (nightly-2026-10-11), cargo flux -p core fails on upstream's new #[rustc_assert_variance] attribute (17 errors) plus a borrowck ICE ("it should not be possible to encounter unnormalized aliases in borrowck").

I tried building this PR's head (a41414fe9) locally to test it, and flux-metadata doesn't compile yet:

error[E0599]: no method named `get_syntax_ctxt_encoding_index` found for struct `std::cell::RefMut<'_, HygieneEncodeContext>`
error[E0277]: the trait bound `for<'a> SourceFileIndex: ContextOrd<&'a __E>` is not satisfied
error: could not compile `flux-metadata` (lib) due to 7 previous errors

Happy to run it against verify-rust-std's core once it builds.

The new nightly requires hash-map keys in encoded data to implement
`rustc_serialize::ContextOrd`, and changes the hygiene encoding API.

- Implement `ContextOrd` for the key types used in flux metadata
  (`FluxId`, `NodeKey`, `SourceFileIndex`). Flux's encoder doesn't set
  `DETERMINISTIC_HASH_MAP_ENCODE`, so the default (unused) comparator is fine.
- Wrap `DefIndex` and the expansion key tuple in local newtypes
  (`DefIndexKey`, `ExpnKey`) so we can implement `ContextOrd`.
- Encode syntax contexts by their raw id and enqueue them with
  `enqueue_syntax_context_for_encoding`, mirroring rustc's on-disk cache.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ATU2skhBTwjR9AwSUooMa4
@nilehmann
nilehmann marked this pull request as ready for review October 23, 2026 20:08
@nilehmann
nilehmann merged commit 1b04d5e into main Oct 23, 2026
14 of 18 checks passed
@nilehmann
nilehmann deleted the toolchain-upgrade branch October 23, 2026 20:08
@nilehmann

Copy link
Copy Markdown
Member Author

@feliperodri, I fixed the build and merged the PR.

feliperodri added a commit to model-checking/verify-rust-std that referenced this pull request Oct 23, 2026
Flux 6769bb9 targets nightly-2026-10-11 and cannot compile the 10-22 core
(unknown #[rustc_assert_variance], borrowck ICE). Flux main 1b04d5e includes
the 10-22 toolchain upgrade (flux-rs/flux#1847).

Upstream renamed core::bstr to core::byte_str, so the include pattern
src/bstr/*.rs matched nothing and Flux silently stopped checking those 118
functions (367 checked instead of 485). Point it at src/byte_str/*.rs.

Local run: 485 checked, 35 constraints solved; the checked set equals
main's after the rename.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants