Skip to content

Rollup of 10 pull requests#155975

Closed
JonathanBrouwer wants to merge 31 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-8ZcPe1u
Closed

Rollup of 10 pull requests#155975
JonathanBrouwer wants to merge 31 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-8ZcPe1u

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

heitbaum and others added 30 commits April 24, 2026 01:08
The previously pinned versions of openssl-sys and curl-sys are not
compatible with OpenSSL 4.0.x.

- `curl-sys`: 0.4.84+curl-8.17.0 -> 0.4.87+curl-8.19.0
- `openssl-sys`: 0.9.111 -> 0.9.114
…pport

Add `stat` and `lstat` shims for all Unixes
as it's done for other AArch64 targets

although the linker (GCC) _may_ be configured to apply the fix by default it's
preferred to have rustc pass the flag to the linker to ensure the mitigation is
always applied

for example, the Arm GNU toolchain does _not_ enable the errata mitigation
by default (checked version: 13.3.Rel1)

see issue 118095 for background information
…x2var_epi64

Implement `_mm512_permutex2var_epi64` shim
Make FileMetadata track Unix-specific fields as optional data. Advertise
STATX_* bits only for metadata that is actually available.

Add libc-fs coverage for statx on file paths, file
descriptors, and AT_EMPTY_PATH on pipes
…tcp-proto

Allow setting `IPPROTO_TCP` as protocol in `socket` syscall
And use it in `partial_cmp` implementation for visibilities
This PR tries to address rust-lang/unsafe-code-guidelines#584 (comment). It is part of a bachelor thesis supervised by @JoJoDeveloping and @RalfJung, for more information, see: https://github.com/user-attachments/files/26537277/Project_Description.pdf.
This implements the checking for implicit writes for Tree Borrows. It is disabled by default but can be enabled using the `-Zmiri-tree-borrows-implicit-writes` flag.
When it is enabled, Miri inserts a write for all mutable borrows on function entry. This enables the optimization implemented here: rust-lang#155207
Instead, just use the concrete types `FnSigKind` and `rustc_abi::ExternAbi`. This simplifies the code in both rustc and rust-analyzer.
resolve: Extend `ambiguous_import_visibilities` deprecation lint to glob-vs-glob ambiguities

Continuation of rust-lang#149596, implementation of this comment rust-lang#149596 (comment) in particular.
FCP for the lint in general - rust-lang#149596 (comment).
rust-lang#152498 is reverted as a part of the change, but fixes are applied to keep the tests added in that PR working.

To implement this we have to have to track the most and the least visible declarations in an ambiguous glob set.

Part of rust-lang#153961.
r? @yaahc maybe
…wesleywiser

apply Cortex-A53 errata 843419 mitigation to the AArch64 Linux targets

as it's done for other AArch64 targets

although the linker (GCC) _may_ be configured to apply the fix by default it's preferred to have rustc pass the flag to the linker to ensure the mitigation is always applied

for example, the Arm GNU toolchain does _not_ enable the errata mitigation by default (checked version: 13.3.Rel1)

see rust-lang#118095 for background information
…atsakis

Add a missing `GenericTypeVisitable`, and avoid having interner traits for `FnSigKind` and `Abi`

r? types
…mann

rustc_middle: Implement the `partial_cmp` operation for `DefId`s

And use it in `partial_cmp` implementation for visibilities.
…RalfJung

c-variadic: more precise compatibility check in const-eval

tracking issue: rust-lang#44930

This came up in the stabilization report discussion rust-lang#155697 (comment).

As a reminder, this is what C says (in section 7.16.1.1 of the [C23 standard](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=302).

> If type is not compatible with the type of the actual next argument (as promoted according to the default argument promotions), the behavior is undefined, except for the following cases:
>
> -  both types are pointers to qualified or unqualified versions of compatible types;
>  - one type is compatible with a signed integer type, the other type is compatible with the
>  corresponding unsigned integer type, and the value is representable in both types;
>  - one type is pointer to qualified or unqualified void and the other is a pointer to a qualified or
>  unqualified character type;
>  - or, the type of the next argument is `nullptr_t` and type is a pointer type that has the same representation and alignment requirements as a pointer to a character type

I think the last rule is not relevant for us, we don't really have an equivalent of `nullptr_t` as far as I know.

r? RalfJung
cc @tgross35
miri subtree update

We want to get `-Zmiri-tree-borrows-implicit-writes` into a nightly ASAP, hence the out-of-schedule sync.

Subtree update of `miri` to rust-lang/miri@6961dab.

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

r? @ghost
bump curl-sys and openssl-sys to support OpenSSL 4.0.x

The previously pinned versions of openssl-sys and curl-sys are not
compatible with OpenSSL 4.0.x.

- `curl-sys`: 0.4.84+curl-8.17.0 -> 0.4.87+curl-8.19.0
- `openssl-sys`: 0.9.111 -> 0.9.114

r? @mati865

@rustbot label +beta-nominated +stable-nominated
…thanBrouwer

Add `AcceptContext::expect_key_value`
…ic, r=wesleywiser

Avoid misleading return-type note for foreign `Fn` callees

Fixes rust-lang#155727.

The issue occurred because the code that emitted the `Fn`/`FnMut` suggestion only avoided the return-type fallback when it could point at a local callee argument. The local case from rust-lang#125325 was fixed in rust-lang#126226, but nested cross-crate cases could still suggest changing the enclosing function's return type even though the relevant `Fn` requirement came from the callee argument.

This is also the broader diagnostic shape discussed in rust-lang#119985.

This PR checks the instantiated callee predicates for an exact `Fn` bound
on the closure argument, and extends `wrong-closure-arg-suggestion-125325` with cross-crate function and method cases for that path.
…Urgau

Fix `doc_cfg` feature for extern items

Part of rust-lang#150268.

It only solves the extern items issue, but not the other listed in the issue. I will need to think about how to fix them nicely.

r? @Urgau
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Apr 29, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) 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 Apr 29, 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-2

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 29, 2026

📌 Commit 2fbdf3f 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 Apr 29, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 29, 2026

⌛ Trying commit 2fbdf3f with merge 6379f2d

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

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

rust-bors Bot pushed a commit that referenced this pull request Apr 29, 2026
Rollup of 10 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-2
@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 Apr 29, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 29, 2026

This pull request was unapproved due to being closed.

@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors try cancel

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 29, 2026

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-attributes Area: Attributes (`#[…]`, `#![…]`) 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.