Rollup of 5 pull requests#153782
Conversation
Small structs (<= 64 bits) were being passed with their fields split into separate arguments instead of being packed into register-sized chunks. This caused ABI mismatches. The fix properly casts small aggregates to consecutive register-sized chunks using Uniform::consecutive(), matching the Hexagon C ABI where small structs are packed into R1:0 register pair. This fixes tests like extern-pass-TwoU16s.rs and extern-pass-TwoU8s.rs.
Correct the handling of aggregate types in extern "C" functions to match the Hexagon ABI specification: - Aggregates up to 32 bits: passed/returned in a single register (R0) - Aggregates 33-64 bits: passed/returned in a register pair (R1:R0) - Aggregates > 64 bits: passed on stack via byval, returned via sret This fixes all tests/ui/abi/extern/ tests for Hexagon, including: - extern-pass-TwoU8s, extern-pass-TwoU16s, extern-pass-TwoU32s - extern-pass-TwoU64s, extern-pass-FiveU16s - extern-return-TwoU8s, extern-return-TwoU16s, extern-return-TwoU32s - extern-return-TwoU64s, extern-return-FiveU16s
…ckwards compatability
…stion, r=lcnr Detect existing turbofish on method calls to suppress useless suggestion `expr_inferred_arg_iter` hardcoded `have_turbofish: false` for `MethodCall` expressions, while the `Path` case properly checked for existing type arguments via `segment.args`. This meant the "consider specifying the generic arguments" suggestion always fired on method calls, even when the user already had a turbofish, producing a suggestion that just rewrote user syntax into fully qualified form without resolving anything. Fixes rust-lang#153732. cc @eggyal
Remove `MTLock` This removes the `MTLock` type and replaces it users with the regular `Lock`. It no longer makes sense now that we don't have a compile-time toggle for parallelism.
…-closure, r=wesleywiser Fix wrong suggestion for returning async closure Fixes rust-lang#150701 r? @estebank
…ywiser Fix Hexagon ABI calling convention for small aggregates Small structs (<= 64 bits) were being passed with their fields split into separate arguments instead of being packed into register-sized chunks. This caused ABI mismatches. The fix properly casts small aggregates to consecutive register-sized chunks using Uniform::consecutive(), matching the Hexagon C ABI where small structs are packed into R1:0 register pair. This fixes tests like extern-pass-TwoU16s.rs and extern-pass-TwoU8s.rs.
…Kobzol Fix that `./x test --no-doc` actually keeps the same behaviour for backwards compatability In rust-lang#153143 the `./x test --no-doc` flag was renamed to `--all-targets`. I added a commit that keeps the `--no-doc` flag for backwards compatibility, but unfortunately I forgot to actually keep the behaviour the same, which is fixed by this PR. r? @Kobzol
|
@bors r+ rollup=never p=5 |
|
Trying commonly failed jobs |
|
⌛ Trying commit 00aa2f8 with merge a58010d… To cancel the try build, run the command Workflow: https://github.com/rust-lang/rust/actions/runs/23007478330 |
Rollup of 5 pull requests 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
This comment has been minimized.
This comment has been minimized.
…uwer Rollup of 5 pull requests Successful merges: - #153751 (Detect existing turbofish on method calls to suppress useless suggestion) - #153780 (Remove `MTLock`) - #151194 (Fix wrong suggestion for returning async closure) - #151572 (Fix Hexagon ABI calling convention for small aggregates) - #153725 (Fix that `./x test --no-doc` actually keeps the same behaviour for backwards compatability)
|
@bors try cancel |
|
Try build cancelled. Cancelled workflows: |
|
💔 Test for b5508ff failed: CI. Failed job:
|
|
PR #151194, which is a member of this rollup, was unapproved. |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
Successful merges:
MTLock#153780 (RemoveMTLock)./x test --no-docactually keeps the same behaviour for backwards compatability #153725 (Fix that./x test --no-docactually keeps the same behaviour for backwards compatability)r? @ghost
Create a similar rollup