Skip to content

Rollup of 13 pull requests #142278

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 58 commits into from

Conversation

workingjubilee
Copy link
Member

@workingjubilee workingjubilee commented Jun 10, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

RalfJung and others added 30 commits June 1, 2025 14:58
Make sure to sync on file-io.rs tokio test
native-lib: allow multiple libraries and/or dirs
use File::lock to implement flock, and add a test for File::lock
…39190-pt2, r=workingjubilee

core::ptr: deduplicate more method docs

used `rg -Fxf library/core/src/ptr/{const,mut}_ptr.rs` to find duplicated doc comments, and `diff -u` after copying them to files to ensure they are actually identical.

`sed 's| */// *||'` was then used to translate the doc comments to plain markdown.

part of rust-lang#139190
…-per-arch, r=nikic

tests: Split dont-shuffle-bswaps along opt-levels and arches

This duplicates dont-shuffle-bswaps in order to make each opt level its own test. Then -opt3.rs gets split into a revision per arch we want to test, with certain architectures gaining new target-cpu minimums.
…inux-kernel-version-or-later, r=workingjubilee

platform-support.md: Mention specific Linux kernel version or later

To be consistent with notes for other targets...

~~(Only made the change for `aarch64-unknown-linux-gnu` for now, as that's fairly certain after looking at the `git blame` just to be sure.)~~
Mark `core::slice::memchr` as `#[doc(hidden)]`

It's purely internal, and not intended to be a public API, even on nightly. This stops it showing up and being misleading in rustdoc search.

It also mirrors the (also internal) `core::slice::sort` module.
…ts, r=aDotInTheVoid

tests: Change ABIs in tests to more future-resilient ones

Eventually we're going to make these tests not work as they are currently written on HEAD, so change them now to get ahead of that.

r? aDotInTheVoid
rustdoc: Refractor `clean_ty_generics`

Refactoring towards rust-lang#142226

[Zulip Discussion](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/Why.20sometimes.20.60predicates_of.60.20.28vs.20.60explicit_predicates_.2E.2E.2E/near/523182529)

The old `clean_ty_generics` was almost always called with the same args, so rename it to `clean_ty_generics_inner`, and add a new wrapper that generates those args from a `DefId`. Having this be the main entrypoint to `clean_ty_generics` should make it easier to start calling `inferred_outlives_of` rust-lang#142264 (comment) (and is more readable even if we don't)

Also, replaces all calls in rustdoc to `tcx.predicates_of` to `tcx.explicit_predicates_of`, which lets us remove `filter_non_trait_generics`

r? `@fmease`
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) 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 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. rollup A PR which is a rollup labels Jun 10, 2025
@workingjubilee
Copy link
Member Author

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jun 10, 2025

📌 Commit b44b5c2 has been approved by workingjubilee

It is now in the queue for this repository.

@bors bors 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 Jun 10, 2025
@workingjubilee
Copy link
Member Author

@bors rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jun 10, 2025

⌛ Testing commit b44b5c2 with merge 50bb66e...

bors added a commit that referenced this pull request Jun 10, 2025
Rollup of 13 pull requests

Successful merges:

 - #134442 (Specify the behavior of `file!`)
 - #134841 (Look at proc-macro attributes when encountering unknown attribute)
 - #140372 (Exhaustively handle parsed attributes in CheckAttr)
 - #140766 (Stabilize keylocker)
 - #141061 (Change __rust_no_alloc_shim_is_unstable to be a function)
 - #142042 (Make E0621 missing lifetime suggestion verbose)
 - #142101 (core::ptr: deduplicate more method docs)
 - #142176 (tests: Split dont-shuffle-bswaps along opt-levels and arches)
 - #142258 (platform-support.md: Mention specific Linux kernel version or later)
 - #142260 (Miri subtree update)
 - #142262 (Mark `core::slice::memchr` as `#[doc(hidden)]`)
 - #142272 (tests: Change ABIs in tests to more future-resilient ones)
 - #142275 (rustdoc: Refractor `clean_ty_generics`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

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

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

---- [codegen] tests/codegen/autovec/dont-shuffle-bswaps-opt3.rs#POWER9 stdout ----

error in revision `POWER9`: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/autovec/dont-shuffle-bswaps-opt3.POWER9/dont-shuffle-bswaps-opt3.ll" "/checkout/tests/codegen/autovec/dont-shuffle-bswaps-opt3.rs" "--check-prefix=CHECK" "--check-prefix" "POWER9" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/autovec/dont-shuffle-bswaps-opt3.rs:21:11: error: CHECK: expected string not found in input
// CHECK: load <8 x i16>
          ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/autovec/dont-shuffle-bswaps-opt3.POWER9/dont-shuffle-bswaps-opt3.ll:7:32: note: scanning from here
define dso_local void @convert(ptr dead_on_unwind noalias nocapture noundef writable writeonly sret([16 x i8]) align 1 dereferenceable(16) initializes((0, 16)) %_0, ptr noalias nocapture noundef readonly align 2 dereferenceable(16) %value) unnamed_addr #0 {
                               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/autovec/dont-shuffle-bswaps-opt3.POWER9/dont-shuffle-bswaps-opt3.ll:9:8: note: possible intended match here
 %_4 = load i16, ptr %value, align 2, !noundef !1
       ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/autovec/dont-shuffle-bswaps-opt3.POWER9/dont-shuffle-bswaps-opt3.ll
Check file: /checkout/tests/codegen/autovec/dont-shuffle-bswaps-opt3.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            1: ; ModuleID = 'dont_shuffle_bswaps_opt3.a6e502848b0e1fc2-cgu.0' 
            2: source_filename = "dont_shuffle_bswaps_opt3.a6e502848b0e1fc2-cgu.0" 
            3: target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20" 
            4: target triple = "wasm32-unknown-wasip1" 
            5:  
            6: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) 
            7: define dso_local void @convert(ptr dead_on_unwind noalias nocapture noundef writable writeonly sret([16 x i8]) align 1 dereferenceable(16) initializes((0, 16)) %_0, ptr noalias nocapture noundef readonly align 2 dereferenceable(16) %value) unnamed_addr #0 { 
check:21'0                                    X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
            8: start: 
check:21'0     ~~~~~~~
            9:  %_4 = load i16, ptr %value, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:21'1            ?                                           possible intended match
           10:  %0 = tail call i16 @llvm.bswap.i16(i16 %_4) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           11:  %1 = getelementptr inbounds nuw i8, ptr %value, i32 2 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           12:  %_6 = load i16, ptr %1, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           13:  %2 = tail call i16 @llvm.bswap.i16(i16 %_6) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           14:  %3 = getelementptr inbounds nuw i8, ptr %value, i32 4 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           15:  %_8 = load i16, ptr %3, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           16:  %4 = tail call i16 @llvm.bswap.i16(i16 %_8) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           17:  %5 = getelementptr inbounds nuw i8, ptr %value, i32 6 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           18:  %_10 = load i16, ptr %5, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           19:  %6 = tail call i16 @llvm.bswap.i16(i16 %_10) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           20:  %7 = getelementptr inbounds nuw i8, ptr %value, i32 8 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           21:  %_12 = load i16, ptr %7, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           22:  %8 = tail call i16 @llvm.bswap.i16(i16 %_12) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           23:  %9 = getelementptr inbounds nuw i8, ptr %value, i32 10 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           24:  %_14 = load i16, ptr %9, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           25:  %10 = tail call i16 @llvm.bswap.i16(i16 %_14) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           26:  %11 = getelementptr inbounds nuw i8, ptr %value, i32 12 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           27:  %_16 = load i16, ptr %11, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           28:  %12 = tail call i16 @llvm.bswap.i16(i16 %_16) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           29:  %13 = getelementptr inbounds nuw i8, ptr %value, i32 14 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           30:  %_18 = load i16, ptr %13, align 2, !noundef !1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           31:  %14 = tail call i16 @llvm.bswap.i16(i16 %_18) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           32:  store i16 %0, ptr %_0, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           33:  %addr16.sroa.2.0._0.sroa_idx = getelementptr inbounds nuw i8, ptr %_0, i32 2 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           34:  store i16 %2, ptr %addr16.sroa.2.0._0.sroa_idx, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           35:  %addr16.sroa.3.0._0.sroa_idx = getelementptr inbounds nuw i8, ptr %_0, i32 4 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           36:  store i16 %4, ptr %addr16.sroa.3.0._0.sroa_idx, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           37:  %addr16.sroa.4.0._0.sroa_idx = getelementptr inbounds nuw i8, ptr %_0, i32 6 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           38:  store i16 %6, ptr %addr16.sroa.4.0._0.sroa_idx, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           39:  %addr16.sroa.5.0._0.sroa_idx = getelementptr inbounds nuw i8, ptr %_0, i32 8 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           40:  store i16 %8, ptr %addr16.sroa.5.0._0.sroa_idx, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           41:  %addr16.sroa.6.0._0.sroa_idx = getelementptr inbounds nuw i8, ptr %_0, i32 10 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           42:  store i16 %10, ptr %addr16.sroa.6.0._0.sroa_idx, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           43:  %addr16.sroa.7.0._0.sroa_idx = getelementptr inbounds nuw i8, ptr %_0, i32 12 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           44:  store i16 %12, ptr %addr16.sroa.7.0._0.sroa_idx, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           45:  %addr16.sroa.8.0._0.sroa_idx = getelementptr inbounds nuw i8, ptr %_0, i32 14 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           46:  store i16 %14, ptr %addr16.sroa.8.0._0.sroa_idx, align 1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           47:  ret void 
check:21'0     ~~~~~~~~~~
           48: } 
check:21'0     ~~
           49:  
check:21'0     ~
           50: ; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           51: declare i16 @llvm.bswap.i16(i16) #1 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           52:  
check:21'0     ~
           53: attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) "target-cpu"="generic" } 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           54: attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) } 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           55:  
check:21'0     ~
           56: !llvm.ident = !{!0} 
check:21'0     ~~~~~~~~~~~~~~~~~~~~
           57:  
check:21'0     ~
           58: !0 = !{!"rustc version 1.89.0-nightly (50bb66e2c 2025-06-10)"} 
check:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           59: !1 = !{} 
check:21'0     ~~~~~~~~~
>>>>>>
------------------------------------------



@bors
Copy link
Collaborator

bors commented Jun 10, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 10, 2025
@workingjubilee
Copy link
Member Author

...oh, what a buffoon.

@workingjubilee workingjubilee deleted the rollup-4msac0t branch June 10, 2025 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) 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 rollup A PR which is a rollup 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.