Repository navigation
Josh subtree pull nightly-2026-10-05 - #7162
Merged
Merged
Conversation
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).
Pull recent changes from https://github.com/rust-lang/rust via Josh. Previous upstream ref: rust-lang/rust@6bb1652 New upstream ref: rust-lang/rust@2822155 Filtered ref: rust-lang/rustfmt@f77686b Upstream diff: rust-lang/rust@6bb1652...2822155 This merge was created using https://github.com/rust-lang/josh-sync.
Contributor
Author
|
This is a pretty straightforward sync and the Diff check passed so I'm going to go ahead and merge this one |
Member
Indeed, nothing here looks relnotes worthy / stable diff inducing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I used
rustc-josh-sync pullto 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):
After (nightly-2026-10-05):