Skip to content

Rollup of 20 pull requests - #163000

Closed
JonathanBrouwer wants to merge 113 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-6WA6MxA
Closed

JonathanBrouwer wants to merge 113 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-6WA6MxA

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

joonas-001 and others added 30 commits August 25, 2026 19:49
- identify issues by label and title
- reuse an existing issue if it already exists
- use a bash script around `gh` so we don't add unvetted dependencies
- add tests for the bash script using a fake `gh` mock
…x-lowering-link-and-thir-typo

fix: typo in thir.md
open issues when scheduled linkcheck fails
This updates the rust-version file to 4b6d04e.
Avoid calling `type_is_copy_modulo_regions` if not necessary.
Both will be used by the amdgpu target to implement the `gpu-kernel`
ABI.

`address_space` specifies the address space of an indirect argument.

`AmdgpuKernelArg` translates to LLVM’s byref, which is similar to
on_stack/byval, however, there is no extra copy made, the pointer may
not point to the stack but can point to some other address space, and
the passed argument should not be modified.

byval and byref are mutually exclusive, so change on_stack to an enum
with the new states, Pointer (none), OnStack and AmdgpuKernelArg.
This updates the rust-version file to c999cef.
…kertdev

Add missing `#[repr(C)]` in UI, codegen and assembly tests

There are quite a few tests which omit the `#[repr(C)]` on structs that are then used in non-Rustic ABIs. I've gone through the tests in `ui/abi`, `ui/ffi`, `codegen-llvm` and `assembly-llvm` and added `#[repr(C)]` where it was missing. I also converted `#[allow(improper_ctypes{,_definitions})]` to `#[expect(improper_ctypes{,_definitions})]` where possible, and removed it where the lint no longer triggers.

I haven't done it in this PR, but I think it's worth making codegen and assembly tests deny warnings by default. With UI tests `improper_ctypes{,_definitions}` has to be either allowed or will show up in the output, meaning it should be fairly obvious to reviewers, but with codegen and assembly tests warnings just get ignored if the test passes.

Fixes rust-lang#53858

r? @folkertdev
cc @RalfJung
rustc-dev-guide subtree update

Subtree update of `rustc-dev-guide` to rust-lang/rustc-dev-guide@9bf6185.

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

r? @ghost
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 19, 2026
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-rustdoc-json Area: Rustdoc JSON backend F-explicit_tail_calls `#![feature(explicit_tail_calls)]` 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Sep 19, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-gnu-llvm-21-3,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu

@rust-bors

rust-bors Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 65cb54e has been approved by JonathanBrouwer

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-review Status: Awaiting review from the assignee but also interested parties. labels Sep 19, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 19, 2026
Rollup of 20 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-gnu-llvm-21-3
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-gnu-llvm-21-3 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
To only update this specific test, also pass `--test-args abi/c-zst.rs`

error in revision `sparc-linux`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" "/checkout/tests/ui/abi/c-zst.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1" "--cfg" "sparc_linux" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc_none,sparc_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-linux" "-Znext-solver=coherence" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "sparc-unknown-linux-gnu" "--extern" "minicore=/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-linux/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: fn_abi_of(pass_zst) = FnAbi {
           args: [
               ArgAbi {
                   layout: TyAndLayout {
                       ty: (),
                       layout: Layout {
---
                       },
                   },
                   mode: Indirect {
                       attrs: ArgAttributes {
                           regular: CapturesAddress | NoAlias | NonNull | NoUndef | NoFree,
                           arg_ext: None,
                           pointee_size: Size(0 bytes),
                           pointee_align: Some(
                               Align(1 bytes),
                           ),
                       },
                       meta_attrs: None,
                       address_space: None,
                       mode: Pointer,
---
           can_unwind: false,
       }
  --> /checkout/tests/ui/abi/c-zst.rs:67:1
   |
LL | extern "C" fn pass_zst(_: ()) {} //~ ERROR: fn_abi
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 1 previous error
------------------------------------------

---
To only update this specific test, also pass `--test-args abi/c-zst.rs`

error in revision `sparc-none`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" "/checkout/tests/ui/abi/c-zst.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1" "--cfg" "sparc_none" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc_none,sparc_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-none" "-Znext-solver=coherence" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "sparc-unknown-none-elf" "--extern" "minicore=/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-none/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: fn_abi_of(pass_zst) = FnAbi {
           args: [
               ArgAbi {
                   layout: TyAndLayout {
                       ty: (),
                       layout: Layout {
---
                       },
                   },
                   mode: Indirect {
                       attrs: ArgAttributes {
                           regular: CapturesAddress | NoAlias | NonNull | NoUndef | NoFree,
                           arg_ext: None,
                           pointee_size: Size(0 bytes),
                           pointee_align: Some(
                               Align(1 bytes),
                           ),
                       },
                       meta_attrs: None,
                       address_space: None,
                       mode: Pointer,
---
           can_unwind: false,
       }
  --> /checkout/tests/ui/abi/c-zst.rs:67:1
   |
LL | extern "C" fn pass_zst(_: ()) {} //~ ERROR: fn_abi
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 1 previous error
------------------------------------------

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-gnu-llvm-21 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
To only update this specific test, also pass `--test-args abi/c-zst.rs`

error in revision `sparc-linux`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/abi/c-zst.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "sparc_linux" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc_none,sparc_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-linux" "-Znext-solver=coherence" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/i686-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=x86_64-linux-gnu-gcc" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "sparc-unknown-linux-gnu" "--extern" "minicore=/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-linux/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: fn_abi_of(pass_zst) = FnAbi {
           args: [
               ArgAbi {
                   layout: TyAndLayout {
                       ty: (),
                       layout: Layout {
---
                       },
                   },
                   mode: Indirect {
                       attrs: ArgAttributes {
                           regular: CapturesAddress | NoAlias | NonNull | NoUndef | NoFree,
                           arg_ext: None,
                           pointee_size: Size(0 bytes),
                           pointee_align: Some(
                               Align(1 bytes),
                           ),
                       },
                       meta_attrs: None,
                       address_space: None,
                       mode: Pointer,
---
           can_unwind: false,
       }
  --> /checkout/tests/ui/abi/c-zst.rs:67:1
   |
LL | extern "C" fn pass_zst(_: ()) {} //~ ERROR: fn_abi
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 1 previous error
------------------------------------------

---
To only update this specific test, also pass `--test-args abi/c-zst.rs`

error in revision `sparc-none`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/abi/c-zst.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "sparc_none" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc_none,sparc_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-none" "-Znext-solver=coherence" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/i686-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=x86_64-linux-gnu-gcc" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "sparc-unknown-none-elf" "--extern" "minicore=/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc-none/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: fn_abi_of(pass_zst) = FnAbi {
           args: [
               ArgAbi {
                   layout: TyAndLayout {
                       ty: (),
                       layout: Layout {
---
                       },
                   },
                   mode: Indirect {
                       attrs: ArgAttributes {
                           regular: CapturesAddress | NoAlias | NonNull | NoUndef | NoFree,
                           arg_ext: None,
                           pointee_size: Size(0 bytes),
                           pointee_align: Some(
                               Align(1 bytes),
                           ),
                       },
                       meta_attrs: None,
                       address_space: None,
                       mode: Pointer,
---
           can_unwind: false,
       }
  --> /checkout/tests/ui/abi/c-zst.rs:67:1
   |
LL | extern "C" fn pass_zst(_: ()) {} //~ ERROR: fn_abi
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 1 previous error
------------------------------------------

@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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 19, 2026
@rust-bors

rust-bors Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

PR #162177, which is a member of this rollup, was unapproved.

This rollup was thus unapproved.

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 19, 2026
@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 19, 2026
@rust-bors

rust-bors Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

💔 Test for be41ac7 failed: CI. Failed jobs:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-rustdoc-json Area: Rustdoc JSON backend F-explicit_tail_calls `#![feature(explicit_tail_calls)]` rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.