Skip to content

Josh subtree pull nightly-2026-10-05 - #7162

Merged
ytmimi merged 17 commits into
rust-lang:mainfrom
ytmimi:nightly-2026-10-05
Oct 5, 2026
Merged

ytmimi merged 17 commits into
rust-lang:mainfrom
ytmimi:nightly-2026-10-05

Conversation

@ytmimi

@ytmimi ytmimi commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor
  • I did not use an LLM to create a change in this PR.
  • I used an LLM to create a change in this PR, and I have explained below how it was used.

I used rustc-josh-sync pull to create the changes in this PR. I wanted to get some hands on experience using the new subtree pull flow.


Before (nightly-2026-09-23):

1.100.0-nightly (6bb1652a0 2026-09-22)

After (nightly-2026-10-05):

1.101.0-nightly (282215592 2026-10-04)

khyperia and others added 17 commits September 23, 2026 10:50
Co-authored-by: Boxy <rust@boxyuwu.dev>
rename direct_const_arg! to gca!

Also re-export it from `std`, and make most tests `use std::gca;` rather than writing out `core::` every time the macro is called.

Part of the design rework discussed in Zulip [#project-const-generics > talkies at last @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/260443-project-const-generics/topic/talkies.20at.20last/near/620368825)

r? @BoxyUwU
…uwer

Rollup of 12 pull requests

Successful merges:

 - rust-lang/rust#162177 (Properly implement the gpu-kernel ABI for amdgpu)
 - rust-lang/rust#163168 (std: Update `wasip3` crate dependency)
 - rust-lang/rust#163179 (Cleanup offload build steps)
 - rust-lang/rust#163194 (Remove unused `StashKey::UnderscoreForArrayLengths`)
 - rust-lang/rust#163198 (rename direct_const_arg! to gca!)
 - rust-lang/rust#163205 (Remove `suggestion_for_allocator_api`)
 - rust-lang/rust#162497 (document `#[rustc_dyn_incompatible_trait]`)
 - rust-lang/rust#162702 (regression test for unconstrained const args)
 - rust-lang/rust#163191 (Enhance mutable closure suggestions with as_mut() support)
 - rust-lang/rust#163192 (Fix Typo in `std::sys::process::unix::unsupported::wait_status` Docs)
 - rust-lang/rust#163196 (Remove `DiagInner::sort_span`)
 - rust-lang/rust#163197 (Fix flt2dec build on 16-bit targets)
rename GCA features

fixes rust-lang/project-const-generics#114

We would like to publish posts soon that GCE is dying and GCA is the future. As part of that, we want the feature gates/etc. to be in their final-ish shape. We discussed a lot of naming bikesheds in the zulip thread [#project-const-generics > talkies at last @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/260443-project-const-generics/topic/talkies.20at.20last/near/620368825), namely:

- `min_generic_const_args` -> `gca_min_const_items`
- `generic_const_args` -> `gca_const_items`
- `macroless_generic_const_args` -> `gca_macroless_args`
- `macroless_const_item_generic_const_args` -> `gca_macroless_items`

things that were discussed in that Zulip thread, but are not part of this PR:

- `gca_adts` and/or `gca_arrays` (the feature is not created yet)
  - the `DirectConstArgContext` enum is in a vaguely awkwardly named spot after this PR. I intend to clean it up as part of creating the `gca_adts` feature (perhaps turning it into a bitflags for allowed syntax, or something)
- renaming the `direct_const_arg!` macro to `gca!` - this was done in rust-lang/rust#163198
- deleting `type const`, introducing `#[always_gca]` - this was done in rust-lang/rust#162517

r? @BoxyUwU
Because they're all just special cases of warnings. This requires
introducing a new `Option<EmissionOverride>` field to `Warning` that
describes the special case behaviour; the `DiagInner::lint_id` field
also gets merged in.

Specific nice things about this:

- Removes some unreachable match arms for `Allow`/`Expect`.

- Removes the hacky upgrading of `Allow`/`Expect` to `Warning` in
  `emit_future_breakage_report`.

- The types now have structure that used to be maintained by comments
  and assertions. E.g. it's now impossible to not have a `lint_id` for
  an `expect` lint. (I always found the `DiagInner::lint_id` field
  confusing; it's clearer now.)

- There's a nice comment on `EmissionOverride` summarizing all the
  different cases.

- A little less code overall.
Merge `ForceWarning`/`Allow`/`Expect` into `Warning`

Because they're all just special cases of warnings. Details in individual commits.

r? @oli-obk
Rollup of 13 pull requests

Successful merges:

 - rust-lang/rust#160695 (Detect bad number of generics caused by bad derive)
 - rust-lang/rust#162883 (No longer auto-inline `f16` and `f128` on well-supported platforms)
 - rust-lang/rust#163133 ([rustdoc] Fix invalid jump to def link when `#[rustc_allow_incoherent_impl]` is involved)
 - rust-lang/rust#163215 (Fix suggestion for Option to bool with proper precedence handling)
 - rust-lang/rust#163266 (More deferred liveness cleanups)
 - rust-lang/rust#163274 (Support -Z merge-functions with gcc and add stack-protector asm tests)
 - rust-lang/rust#163290 (Merge `ForceWarning`/`Allow`/`Expect` into `Warning`)
 - rust-lang/rust#163298 (Don't emit sugg for pub-reexport extern std)
 - rust-lang/rust#163312 (Add rustdoc regression test for glob import of a crate that re-exports)
 - rust-lang/rust#163357 (Borrowck cleanups part trois)
 - rust-lang/rust#161710 (Stabilize `mem::conjure_zst`)
 - rust-lang/rust#163332 (Add some docs to `Global`)
 - rust-lang/rust#163362 (simplify ndk compiler test)
remove `MutTy`

This PR removes `ast::MutTy` and `hir::MutTy` and inlines their two fields directly into their corresponding `TypeKind` variants. These types probably made sense in pre-1.0 versions where it still had a syntax-level representation with things like `[mut T]`. Nowadays, it is just a type that is used in some, but not all places to group a type and a mutability together (for example, `rustc_type_ir` does not include such a wrapper). It also has no methods and just makes some match statements more verbose. Removing it makes them more readable.
…uwer

Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#163327 (remove `MutTy`)
 - rust-lang/rust#162910 (Deterministic encoding of `DefPathHashMap`)
 - rust-lang/rust#163009 (dont store arbitrary parsed attributes in thir)
 - rust-lang/rust#162683 (Use attribute parser for `#[inline()]` attribute check)
 - rust-lang/rust#163429 (lint on `Ident::from_str_and_span` taking a string literal)
 - rust-lang/rust#163431 (Allow `#[repr(simd)]` with `f16b`)
 - rust-lang/rust#163433 (Support also `try-jobs:` to specify custom try jobs)
The semantics of `intrinsics::abort()` are closer to what we have
unstably as `abort_immediate()` than to `process::abort()` or
`libc::abort()`. Rename it to make more clear that the intrinsic is more
of an intentional crash with platform-specific behavior than what
`libc::abort()` tries to be (i.e. raising `SIGABRT`).
…they

intrinsics: Rename `abort` to `abort_immediate`

The semantics of `intrinsics::abort()` are closer to what we have unstably as `abort_immediate()` than to `process::abort()` or `libc::abort()`. Rename it to make more clear that the intrinsic is more of an intentional crash with platform-specific behavior than what `libc::abort()` tries to be (i.e. raising `SIGABRT`).

If desired, a new intrinsic like `abort_gracefully` could be introduced that performs platform-specific behavior. This would more cleanly unblock rust-lang/rust#149780.

See also discussion at the tracking issue for `immediate_abort` rust-lang/rust#154601.
…uwer

Rollup of 9 pull requests

Successful merges:

 - rust-lang/rust#163655 (explicitly handle tests that pass with -Znext-solver)
 - rust-lang/rust#159924 (Send -fno-lto when linker plugin LTO is not requested to avoid having GCC do LTO when using rustc_codegen_gcc)
 - rust-lang/rust#163572 (Update the minimum external LLVM to 22)
 - rust-lang/rust#129822 (Docs - type guarantees update)
 - rust-lang/rust#157973 (Distinguish `repr(C)` ZSTs from others in ABI compatibility rules)
 - rust-lang/rust#162332 (preserve overflow in builtin Field candidates)
 - rust-lang/rust#163574 (intrinsics: Rename `abort` to `abort_immediate`)
 - rust-lang/rust#163638 (avoid trivial `fn map_bound` validations)
 - rust-lang/rust#163660 (yeet compare-mode-coherence)
rustfmt subtree update



Subtree update of `rustfmt` to rust-lang@677b954.

Created using https://github.com/rust-lang/josh-sync.

### Relnotes worthy (1.101 cycle)

https://github.com/rust-lang/rustfmt/pulls?q=is%3Apr+state%3Aclosed+merged%3A2026-09-22..2026-09-30 (excluding the v1.11.0 release prep PR):

* rust-lang#7115 (config search behavior)
* rust-lang#7095 (potentially breaking)
* rust-lang#6396
* rust-lang#7152 (but that's a fix for beta-regression)

### Needs beta backport (targetting 1.100)

I will make a beta-targetting cherry-pick with the following PR

* rust-lang#7152

---

r? @ytmimi
This updates the rust-toolchain.toml file to nightly-2026-10-05 (28221559263a3976766cf305940e80e30cf9ba8a).
@rustbot rustbot added the S-waiting-on-review Status: awaiting review from the assignee but also interested parties. label Oct 5, 2026
@ytmimi

ytmimi commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

This is a pretty straightforward sync and the Diff check passed so I'm going to go ahead and merge this one

@ytmimi
ytmimi added this pull request to the merge queue Oct 5, 2026
Merged via the queue into rust-lang:main with commit 4368801 Oct 5, 2026
33 checks passed
@rustbot rustbot added release-notes Needs an associated changelog entry and removed S-waiting-on-review Status: awaiting review from the assignee but also interested parties. labels Oct 5, 2026
@ytmimi
ytmimi deleted the nightly-2026-10-05 branch October 5, 2026 17:28
@jieyouxu

jieyouxu commented Oct 5, 2026

Copy link
Copy Markdown
Member

This is a pretty straightforward sync and the Diff check passed so I'm going to go ahead and merge this one

Indeed, nothing here looks relnotes worthy / stable diff inducing

@ytmimi ytmimi added this to the 1.101.0 milestone Oct 6, 2026
@ytmimi ytmimi added the A-subtree-syncs Area: subtree syncs (between rustfmt <-> rust-lang/rust) label Oct 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-subtree-syncs Area: subtree syncs (between rustfmt <-> rust-lang/rust) release-notes Needs an associated changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants