Skip to content

Rollup of 15 pull requests - #160002

Closed
JonathanBrouwer wants to merge 47 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-9ctb6aB
Closed

Rollup of 15 pull requests#160002
JonathanBrouwer wants to merge 47 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-9ctb6aB

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

Urgau and others added 30 commits June 14, 2026 22:59
Use the one that's passed in.
- By improving various comments.
- By renaming some fields. This gives a clear split between
  `move_outs`/`move_out_loc_map`/`move_out_path_map` and
  `inits`/`init_loc_map`/`init_path_map`.
By using an iterator instead of a manual loop.
It always has the same value as `mark_inactive_variants_as_uninit`, and
it's only read if `mark_inactive_variants_as_uninit` is true.
Several changes:

## Link `symlink_metadata` from `metadata`

Someone reading `metadata` likely wants easy/quick access to `symlink_metadata` as well. Since this explicitly documents that it does follow symlinks, it made sense to leave a note stating how to perform the same action without that behavior.

## Add symbolic link note to errors

It's intuitive that you cannot return the `Metadata` of a resolved file if the file could not be resolved. But it's not always obvious. Since we're stating "the path does not exist" (also an obvious case). It will help to have this gentle reminder.

## Explicit behavior of directories and files in `symlink_metadata`

Reading the documentation, it was unclear whether `symlink_metadata` would also work on files and directories. I guessed it would, but it's nice to call it out. The wording also gave me an opportunity to cross-link to `metadata` so someone can easily jump back and forth between them.
Co-authored-by: Dominik Schwaiger <mail@dominik-schwaiger.ch>
The MIPS n64 ABI returns structs that meet the following requirements:

- Up to 128 bits large
- Only one or two fields, all of which are floating point
- Offset of the first field is zero

in floating point registers. This was already accounted for, but the
edge case of a struct with a single f128 field was not handled correctly
and would always be returned in integer registers.

If we tell the backend to use a f128 register here, LLVM will return the
value in two of the 64-bit FPRs, $f0 and $f2. That is equivalent to
how Clang, GCC and also Rustc today would return a long double / f128.

However, both Clang and GCC return a struct with a single long double
field in $f0 and $f1. In order to achieve the same result in Rustc, we
need to set the InReg attribute on the return value.

With this, we now match Clang and GCC.

Clang: https://godbolt.org/z/za8qv9P4n
GCC: https://godbolt.org/z/9qcdGsce6
Rustc currently: https://godbolt.org/z/8sP5G4ash
LLVM IR comparisons: https://godbolt.org/z/ojaTTY9hW
Update expect message using the recommended style in binary_heap module

Related issue: rust-lang#159751
…-mode, r=adwinwhite

Fix opaque type ICE in late lints under the next-generation trait solver

fixes rust-lang/rust-clippy#17411

Under the next trait solver, late lints trigger an ICE due to having non-empty opaque storage when dropping `InferCtxt`.

Rather than forcing all current and future late lints to manually use `ignoring_regions`, use `PostBorrowck` in `LateContext`.

cc @adwinwhite
…23, r=Mark-Simulacrum

Fix observable intermediate state in `thread::add_spawn_hook`

Fixes rust-lang#159923.

Ensures the intermediate state of there being no hooks in `add_spawn_hooks` is not observable by allocating the new head node before taking the current hook list.

Also added a note to the docs of `add_spawn_hook` that hooks are not guaranteed to run and cannot be relied upon for soundness, as there are multiple ways to prevent all/some hooks from running.
…upported, r=Darksonn

std: make send_process_group_signal unsupported on VxWorks

`x86_64-wrs-vxworks` doesn't build std: `cargo new` plus `-Zbuild-std` stops
with E0425 on `libc::killpg`, which rust-lang#156539 introduced.

libc has never declared `killpg` for vxworks, and declaring it wouldn't help.
On wrsdk-vxworks7-qemu-1.17.0 there's no `killpg` in the headers, the sysroot
archives or the prebuilt kernel, and `getpgrp`/`setpgid` are no-ops in libunix:
`getpgrp` returns a constant 0, `setpgid` stores nothing. That rules out
`kill(-pgrp, sig)` too. `Command::process_group` is already ignored on this
target, since `get_pgroup` is only read by the fork/posix_spawn path while
vxworks spawns through `rtpSpawn`.

Closes rust-lang#159969.
Detect when a macro without exclamation mark uses square brackets

```
error: expected one of `.`, `?`, `]`, or an operator, found `,`
  --> $DIR/do-not-suggest-semicolon-between-macro-without-exclamation-mark-and-array.rs:2:19
   |
LL |     let _x = vec[1, 2, 3];
   |                   ^ expected one of `.`, `?`, `]`, or an operator
   |
help: you might have meant to call a macro
   |
LL |     let _x = vec![1, 2, 3];
   |                 +
```

Fix rust-lang#101490.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 27, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) O-apple Operating system: Apple / Darwin (macOS, iOS, tvOS, visionOS, watchOS) O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Jul 27, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

Trying commonly failed jobs
@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 27, 2026

Copy link
Copy Markdown
Contributor

📌 Commit ba55d30 has been approved by JonathanBrouwer

It is now in the queue for this repository.

🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened.

Reason for tree closure: spurious failures

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

rust-bors Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit ba55d30 with merge 7a714b6

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

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

rust-bors Bot pushed a commit that referenced this pull request Jul 27, 2026
Rollup of 15 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-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 Jul 27, 2026
@rust-bors

rust-bors Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

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

This rollup was thus unapproved.

@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors try cancel

@rust-bors

rust-bors Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Try build cancelled. Cancelled workflows:

@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 Jul 27, 2026
@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)

error[E0726]: implicit elided lifetime not allowed here
  --> compiler/rustc_attr_parsing/src/attributes/rustc_internal.rs:99:28
   |
99 |     const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::AllowList(&[
   |                            ^^^^^^^^^^^^^^ expected lifetime parameter
   |
help: indicate the anonymous lifetime
   |
99 |     const ALLOWED_TARGETS: AllowedTargets<'_> = AllowedTargets::AllowList(&[
   |                                          ++++

For more information about this error, try `rustc --explain E0726`.
[RUSTC-TIMING] rustc_attr_parsing test:false 0.231
warning: `rustc_attr_parsing` (lib) generated 1 warning

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-various failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

error[E0726]: implicit elided lifetime not allowed here
  --> compiler/rustc_attr_parsing/src/attributes/rustc_internal.rs:99:28
   |
99 |     const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::AllowList(&[
   |                            ^^^^^^^^^^^^^^ expected lifetime parameter
   |
help: indicate the anonymous lifetime
   |
99 |     const ALLOWED_TARGETS: AllowedTargets<'_> = AllowedTargets::AllowList(&[
   |                                          ++++

For more information about this error, try `rustc --explain E0726`.
[RUSTC-TIMING] rustc_attr_parsing test:false 0.264
warning: `rustc_attr_parsing` (lib) generated 1 warning

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) O-apple Operating system: Apple / Darwin (macOS, iOS, tvOS, visionOS, watchOS) O-unix Operating system: Unix-like rollup A PR which is a rollup T-clippy Relevant to the Clippy team. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.