Skip to content

Rollup of 13 pull requests #142278

New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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.