Rollup of 21 pull requests#155979
Open
JonathanBrouwer wants to merge 56 commits intorust-lang:mainfrom
Open
Conversation
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
Wire IsProcessorFeaturePresent for the PF_ARM_* constants exposed in Windows SDK 26100 (Win11 24H2): fp16 PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE (67) i8mm PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE (66) bf16 PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE (68) sha3 PF_ARM_SHA3 (64) AND PF_ARM_SHA512 (65) lse2 PF_ARM_LSE2_AVAILABLE (62) f32mm PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE (58) f64mm PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE (59) Also derive `rdm` from FEAT_DotProd. There is no PF_ARM_RDM_* constant; FEAT_DotProd is an optional v8.2-A feature only present on cores that implement at least v8.1-A, and v8.1-A with AdvSIMD mandates FEAT_RDM (Arm ARM K.a §D17.2.91). AdvSIMD is universal on Windows-on-ARM. See PR description for full rationale and .NET 10 precedent. All eight feature names have been stable in `is_aarch64_feature_detected!` on Linux/Darwin/BSD since Rust 1.60.
…pport Add `stat` and `lstat` shims for all Unixes
…x2var_epi64 Implement `_mm512_permutex2var_epi64` shim
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
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
…ts, allowing to use `FnOnce` instead of `Fn`
Because the memory safety of `FlatMapInPlace::flat_map_in_place` depends on `FlatMapInPlaceVec` impls behaving correctly.
shims: improve Linux statx
…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
tree borrows: implicit writes
…henyukang use the new `//@ needs-asm-mnemonic: ret` more Since rust-lang#155692 we have this neat new rule, and a couple of tests should be able to use them.
…d-more, r=Mark-Simulacrum ci(free-disk-space): remove more tools and fix warnings With this PR I remove more space and improve the free-disk-space-linux script. If you prefer me to split this PR into multiple ones, let me know. Discussed in [#t-infra > some jobs running out of disk space](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/some.20jobs.20running.20out.20of.20disk.20space/with/591666099) ## Test I tested this change in marcoieni/actions-test@196ce70. As you can see the workflows run without warnings, which ensures that we can remove all the space possible from the arm runners. I also tested this change in this repository, by commenting out the mechanism to skip disk cleanup in case there is sufficient available disk space. ( see rust-lang@86529fb ) If I don't comment out the code, it can happen that the CI skips the code I edited because there's enough disk space in the runners that this CI is running. Here's the change of that commit: ``` # sufficientSpaceEarlyExit # checkAlternative ``` ## Storage saved In that temporary commit, I measured how much we are saving. It looks like this PR saves ~2GB: * Before this PR, from https://github.com/rust-lang/rust/actions/runs/25082499114/job/73490814240: `Total saved: Saved 35GiB` * In this PR, from https://github.com/rust-lang/rust/actions/runs/25099446145/job/73544774148: `Total saved: Saved 37GiB`
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.
…thanBrouwer,kivooeo Update `opt_ast_lowering_delayed_lints` query to allow "stealing" lints, allowing to use `FnOnce` instead of `Fn` Part of rust-lang#153099. This is needed for https://github.com/rust-lang/rust/compare/main...GuillaumeGomez:rust:diagnostic-instead-of-closure?expand=1 which will allow to pass `Diagnostic` instead of a closure. As asked by @JonathanBrouwer, I make this as a stand-alone PR. :) r? @JonathanBrouwer
…ec, r=kivooeo Make `FlatMapInPlaceVec` an unsafe trait. Because the memory safety of `FlatMapInPlace::flat_map_in_place` depends on `FlatMapInPlaceVec` impls behaving correctly. r? @chenyukang
…Urgau Fix `doc_cfg` feature for extern items Part of rust-lang#150268. It only solves the extern items issue, but not the others listed in the issue. I will need to think about how to fix them nicely. r? @Urgau
Contributor
Author
|
@bors r+ rollup=never p=5 Trying commonly failed jobs For debugging help: this rollup consists of: 12 PRs which already passed full CI (but github did a github): Rollup of 12 pull requests #155964 |
Contributor
Contributor
|
⌛ Trying commit d550bd5 with merge 7bfe66b… To cancel the try build, run the command Workflow: https://github.com/rust-lang/rust/actions/runs/25135814494 |
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 29, 2026
Rollup of 21 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
Contributor
|
⌛ Testing commit d550bd5 with merge a021a77... Workflow: https://github.com/rust-lang/rust/actions/runs/25135874345 |
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 29, 2026
…uwer Rollup of 21 pull requests Successful merges: - #155966 (miri subtree update) - #154149 (resolve: Extend `ambiguous_import_visibilities` deprecation lint to glob-vs-glob ambiguities) - #155189 (simd_reduce_min/max: remove float support) - #155562 (Add a missing `GenericTypeVisitable`, and avoid having interner traits for `FnSigKind` and `Abi`) - #155608 (rustc_middle: Implement the `partial_cmp` operation for `DefId`s) - #155721 (When archive format is wrong produce an error instead of ICE) - #155794 (privacy: share effective visibility initialization) - #155832 (c-variadic: more precise compatibility check in const-eval) - #155856 (std_detect: support detecting more features on aarch64 Windows) - #155861 (Suggest `[const] Trait` bounds in more places) - #155899 (`dlltool`: Set the working directory to workaround `--temp-prefix` bug) - #155916 (Update with new LLVM 22 target for `wasm32-wali-linux-musl` target) - #155935 (remap OUT_DIR paths to fix build script path leakage in crate metadata. ) - #155950 (use the new `//@ needs-asm-mnemonic: ret` more) - #155958 (ci(free-disk-space): remove more tools and fix warnings) - #155711 (bump curl-sys and openssl-sys to support OpenSSL 4.0.x) - #155831 (Add `AcceptContext::expect_key_value`) - #155877 (Avoid misleading return-type note for foreign `Fn` callees) - #155949 (Update `opt_ast_lowering_delayed_lints` query to allow "stealing" lints, allowing to use `FnOnce` instead of `Fn`) - #155951 (Make `FlatMapInPlaceVec` an unsafe trait.) - #155967 (Fix `doc_cfg` feature for extern items)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Successful merges:
ambiguous_import_visibilitiesdeprecation lint to glob-vs-glob ambiguities #154149 (resolve: Extendambiguous_import_visibilitiesdeprecation lint to glob-vs-glob ambiguities)GenericTypeVisitable, and avoid having interner traits forFnSigKindandAbi#155562 (Add a missingGenericTypeVisitable, and avoid having interner traits forFnSigKindandAbi)partial_cmpoperation forDefIds #155608 (rustc_middle: Implement thepartial_cmpoperation forDefIds)[const] Traitbounds in more places #155861 (Suggest[const] Traitbounds in more places)dlltool: Set the working directory to workaround--temp-prefixbug #155899 (dlltool: Set the working directory to workaround--temp-prefixbug)wasm32-wali-linux-musltarget #155916 (Update with new LLVM 22 target forwasm32-wali-linux-musltarget)//@ needs-asm-mnemonic: retmore #155950 (use the new//@ needs-asm-mnemonic: retmore)AcceptContext::expect_key_value#155831 (AddAcceptContext::expect_key_value)Fncallees #155877 (Avoid misleading return-type note for foreignFncallees)opt_ast_lowering_delayed_lintsquery to allow "stealing" lints, allowing to useFnOnceinstead ofFn#155949 (Updateopt_ast_lowering_delayed_lintsquery to allow "stealing" lints, allowing to useFnOnceinstead ofFn)FlatMapInPlaceVecan unsafe trait. #155951 (MakeFlatMapInPlaceVecan unsafe trait.)doc_cfgfeature for extern items #155967 (Fixdoc_cfgfeature for extern items)r? @ghost
Create a similar rollup