Skip to content

Rollup of 13 pull requests#159696

Closed
jhpratt wants to merge 53 commits into
rust-lang:mainfrom
jhpratt:rollup-cuL0oZw
Closed

Rollup of 13 pull requests#159696
jhpratt wants to merge 53 commits into
rust-lang:mainfrom
jhpratt:rollup-cuL0oZw

Conversation

@jhpratt

@jhpratt jhpratt commented Jul 22, 2026

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

folkertdev and others added 30 commits April 12, 2026 13:26
the `float-cmp` and `num-traits` libraries don't (yet) support f16. Turns out we didn't really need much from them, just the ulps check. I've adapted the ulps check from miri instead
relevant for the cranelift backend, possibly other cases/targets too
Fix pointer API to match what was stabilized
We can do swizzles for 24, 32, 48 and 64 byte vectors by stacking multiple TBL
instructions.

See https://godbolt.org/z/PE95nrqjj for a comparison of the generated assembly.
Optimize `swizzle_dyn` for AArch64 with N > 16
`From` impls were already provided for the normal AArch64 ACLE vector types, but
not for the x2,x3,x4 tuples of ACLE vectors. Rectify that.

Also provide impls for vectors of `f16`, as I noticed they were missing.
For symmetry with `Mask::first_set`
…mpls

Provide `From` impls for AArch64 ACLE tuple types.
Use `impl` restrictions over hand-sealed traits
Optimize `swizzle_dyn` for LoongArch64 with N is 16 or 32
Previously LLBC's Linker implementation unconditionally added `--debug`
to the linker invocation. This just became visible when 062ecd6
made LLBC no longer strip debug information unconditionally.

Add the proper logic to LLBC's linker implementation to only invoke
LLBC with `--debug` when debug-information should not be stripped.
jhpratt added 2 commits July 21, 2026 20:21
Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap

- Originally added by rust-lang#138704
---

This blanket allow was hiding several unused imports and items in test-only code. It has been replaced with a number of narrower ensures.

We can also drop the `pretty_assertions` dev-dependency, which turns out to have been unused.
…t-cycle-hang-test, r=lqd

Add layout cycle hang regression test

Fixes rust-lang#153205

The issue was already fixed rust-lang#153205 (comment)
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 22, 2026
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` F-explicit_tail_calls `#![feature(explicit_tail_calls)]` PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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. labels Jul 22, 2026
@jhpratt

jhpratt commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1,i686-msvc-*

@rust-bors

rust-bors Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 59c79fb has been approved by jhpratt

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 Jul 22, 2026
@rust-bors

rust-bors Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit 59c79fb with merge 4b31fde

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/29880002381

rust-bors Bot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests


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

Copy link
Copy Markdown
Collaborator

The job 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 lint/runtime-symbols-unix.rs`

error: 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/lint/runtime-symbols-unix.rs" "-Zthreads=1" "-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" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--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/lint/runtime-symbols-unix" "-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" "--edition=2021"
stdout: none
--- stderr -------------------------------
warning: the feature `c_variadic` has been stable since 1.99.0-nightly and no longer requires an attribute to enable
##[warning]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:7:12
   |
---
   |         ^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(i32, *const c_void, usize) -> isize`
           found    `unsafe extern "C" fn()`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "write")]`, or `#[link_name = "write"]`

error: invalid definition of the runtime `close` symbol used by the standard library
##[error]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:26:5
   |
LL |     pub static close: () = ();
---
   |         ^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(*mut c_void)`
           found    `unsafe extern "C" fn()`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "free")]`, or `#[link_name = "free"]`

error: invalid definition of the runtime `exit` symbol used by the standard library
##[error]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:39:9
   |
LL |         pub fn exit();
---

warning: suspicious definition of the runtime `open` symbol used by the standard library
##[warning]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:46:9
   |
LL |         pub fn open(path: *const u8, oflag: usize, ...) -> c_int;
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(*const i8, i32, ...) -> i32`
           found    `unsafe extern "C" fn(*const u8, usize, ...) -> i32`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "open")]`, or `#[link_name = "open"]`
---
   |
LL |         pub fn free(ptr: *const u8);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(*mut c_void)`
           found    `unsafe extern "C" fn(*const u8)`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "free")]`, or `#[link_name = "free"]`
   = help: allow this lint if the signature is compatible

warning: suspicious definition of the runtime `exit` symbol used by the standard library
##[warning]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:52:9
   |

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-1 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 lint/runtime-symbols-unix.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/runtime-symbols-unix.rs" "-Zthreads=1" "-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/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--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/aarch64-unknown-linux-gnu/test/ui/lint/runtime-symbols-unix" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2021"
stdout: none
--- stderr -------------------------------
warning: the feature `c_variadic` has been stable since 1.99.0-nightly and no longer requires an attribute to enable
##[warning]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:7:12
   |
---
   |         ^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(i32, *const c_void, usize) -> isize`
           found    `unsafe extern "C" fn()`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "write")]`, or `#[link_name = "write"]`

error: invalid definition of the runtime `close` symbol used by the standard library
##[error]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:26:5
   |
LL |     pub static close: () = ();
---
   |         ^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(*mut c_void)`
           found    `unsafe extern "C" fn()`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "free")]`, or `#[link_name = "free"]`

error: invalid definition of the runtime `exit` symbol used by the standard library
##[error]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:39:9
   |
LL |         pub fn exit();
---

warning: suspicious definition of the runtime `open` symbol used by the standard library
##[warning]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:46:9
   |
LL |         pub fn open(path: *const u8, oflag: usize, ...) -> c_int;
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(*const u8, i32, ...) -> i32`
           found    `unsafe extern "C" fn(*const u8, usize, ...) -> i32`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "open")]`, or `#[link_name = "open"]`
---
   |
LL |         pub fn free(ptr: *const u8);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(*mut c_void)`
           found    `unsafe extern "C" fn(*const u8)`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "free")]`, or `#[link_name = "free"]`
   = help: allow this lint if the signature is compatible

warning: suspicious definition of the runtime `exit` symbol used by the standard library
##[warning]  --> /checkout/tests/ui/lint/runtime-symbols-unix.rs:52:9
   |

@jhpratt jhpratt closed this Jul 22, 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 Jul 22, 2026
@rust-bors

rust-bors Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

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

This rollup was thus unapproved.

@rust-bors rust-bors Bot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 22, 2026
@jhpratt
jhpratt deleted the rollup-cuL0oZw branch July 22, 2026 00:58
@jhpratt

jhpratt commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

@bors try cancel

@rust-bors

rust-bors Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Try build cancelled. Cancelled workflows:

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-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` F-explicit_tail_calls `#![feature(explicit_tail_calls)]` PG-exploit-mitigations Project group: Exploit mitigations 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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.