Skip to content

Rollup of 16 pull requests #141716

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

Merged
merged 40 commits into from
May 29, 2025
Merged

Rollup of 16 pull requests #141716

merged 40 commits into from
May 29, 2025

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented May 29, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

xizheyin and others added 30 commits May 2, 2025 22:08
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Co-authored-by: Michael Goulet <michael@errs.io>
So they match the order of the parts in the source code, e.g.:
```
struct Foo<T, U> { t: T, u: U }
       <-><----> <------------>
       /   |       \
   ident generics  variant_data
```
Would otherwise fail on:

```
thread 'fs::tests::test_eq_windows_file_type' panicked at library/std/src/test_helpers.rs:53:20:
called `Result::unwrap()` on an `Err` value: Os { code: 5, kind: PermissionDenied, message: "Access is denied." }
```

This came from the read-only attribute set on the test file. In order to
fix this, instead of simply disabling the test, the attribute is reset
before the test's end so it may still run successfully.

Signed-off-by: Paul Mabileau <paul.mabileau@harfanglab.fr>
This fixes the build on GCC 15
Now that we have work queue limits on triagebot, I'm happy to share some
of the review load.
…BoxyUwU

GCI: At their def site, actually wfcheck the where-clause & always eval free lifetime-generic constants

* 1st commit: Partially addresses [rust-lang#136204](rust-lang#136204) by turning const eval errors from post to pre-mono for free lifetime-generic constants.
  * As the linked issue/comment states, on master there's a difference between `const _: () = panic!();` (pre-mono error) and `const _<'a>: () = panic!();` (post-mono error) which feels wrong.
  * With this PR, both become pre-mono ones!
* 2nd commit: Oof, yeah, I missed that in the initial impl!

This doesn't fully address rust-lang#136204 because I still haven't figured out how & where to properly & best suppress const eval of free constants whose predicates don't hold at the def site. The motivating example is `const _UNUSED: () = () where for<'_delay> String: Copy;` which can also be found over at the tracking issue rust-lang#113521.

r? compiler-errors or reassign
Emit warning while outputs is not exe and prints linkage info

cc rust-lang#137384

```bash
$ rustc +stage1 /dev/null --print native-static-libs --crate-type staticlib  --emit metadata
warning: skipping link step due to conflict: cannot output linkage information without emitting executable

note: consider emitting executable to print link information

warning: 1 warning emitted
```
…_file_type, r=ChrisDenton

Test(fs): Fix `test_eq_windows_file_type` for Windows 7

Would otherwise fail on:

```
thread 'fs::tests::test_eq_windows_file_type' panicked at library/std/src/test_helpers.rs:53:20:
called `Result::unwrap()` on an `Err` value: Os { code: 5, kind: PermissionDenied, message: "Access is denied." }
```

This came from the read-only attribute set on the test file. In order to fix this, instead of simply disabling the test, the attribute is reset before the test's end so it may still run successfully.

`@rustbot` label T-libs A-filesystem A-testsuite O-windows-7 O-windows-msvc
Path::with_extension: show that it adds an extension where one did no…

…t exist

I think the times I encountered this, I had to check first if files without extensions were added, since all examples only had files with existing extensions.

Also, this replaced example already has a similar example below.
clean up old rintf leftovers

As usual stdarch needed special treatment due to rust-lang/stdarch#1655, and apparently I forgot to clean up these leftovers here. They can be removed now.
Call out possibility of invariant result in variance markers

ref rust-lang#135806 (comment)
jhpratt added 4 commits May 29, 2025 04:49
rustbook: Bump versions of `onig` and `onig_sys`

This fixes the build on GCC 15.
…r=bjorn3

core: unstably expose atomic_compare_exchange so stdarch can use it

Due to rust-lang/stdarch#1655, cleaning up the atomic intrinsics will be a bunch of extra work: stdarch directly calls them [here](https://github.com/rust-lang/stdarch/blob/8764244589373b8b48864c0ad11fd9233c672249/crates/core_arch/src/x86_64/cmpxchg16b.rs#L58-L74).

Instead of duplicating that match, stdarch should use what we have in libcore, so let's expose that.

r? `@bjorn3`
Add `rustc_diagnostic_item` to `sys::Mutex` methods

For an ongoing project for adding a concurrency model checker to Miri we need to be able to intercept locking/unlocking operations on standard library mutexes.

This PR adds diagnostic items to the relevant calls `lock`, `try_lock` and `unlock` for the `sys::Mutex` implementation on the targets we care about.
This PR also makes the internals of `pthread::Mutex` less public, to reduce the chance of anyone locking/unlocking a mutex without going through the intercepted methods.

r? ``@RalfJung``
…Void

Add eholk to compiler reviewer rotation

Now that we have work queue limits on triagebot, I'm happy to share some of the review load.

r? ``@wesleywiser``
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc 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-infra Relevant to the infrastructure 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. rollup A PR which is a rollup labels May 29, 2025
@jhpratt
Copy link
Member Author

jhpratt commented May 29, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented May 29, 2025

📌 Commit 4327a7c has been approved by jhpratt

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 May 29, 2025
@bors
Copy link
Collaborator

bors commented May 29, 2025

⌛ Testing commit 4327a7c with merge 38081f2...

@bors
Copy link
Collaborator

bors commented May 29, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing 38081f2 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 29, 2025
@bors bors merged commit 38081f2 into rust-lang:master May 29, 2025
10 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 29, 2025
Copy link

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 5f025f3 (parent) -> 38081f2 (this PR)

Test differences

Show 150 test diffs

Stage 1

  • [ui] tests/ui/generic-const-items/def-site-predicates-wf.rs: [missing] -> pass (J0)
  • [ui] tests/ui/print-request/emit-warning-print-link-info-without-staticlib.rs: [missing] -> pass (J0)
  • [ui] tests/ui/print-request/emit-warning-while-exe-and-print-link-info.rs: [missing] -> pass (J0)
  • [ui] tests/ui/unsafe-binders/cat-projection.rs: pass -> [missing] (J0)
  • [ui] tests/ui/unsafe-binders/cat-projection.rs#e2015: [missing] -> pass (J0)
  • [ui] tests/ui/unsafe-binders/cat-projection.rs#e2021: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/generic-const-items/def-site-predicates-wf.rs: [missing] -> pass (J1)
  • [ui] tests/ui/print-request/emit-warning-print-link-info-without-staticlib.rs: [missing] -> pass (J1)
  • [ui] tests/ui/print-request/emit-warning-while-exe-and-print-link-info.rs: [missing] -> pass (J1)
  • [ui] tests/ui/unsafe-binders/cat-projection.rs: pass -> [missing] (J1)
  • [ui] tests/ui/unsafe-binders/cat-projection.rs#e2015: [missing] -> pass (J1)
  • [ui] tests/ui/unsafe-binders/cat-projection.rs#e2021: [missing] -> pass (J1)

Additionally, 138 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 38081f22c2d7380f272aa1d7fa9b935637701c2d --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-apple-various: 6713.9s -> 8040.5s (19.8%)
  2. x86_64-apple-2: 5492.9s -> 4571.2s (-16.8%)
  3. dist-x86_64-apple: 8572.4s -> 9618.1s (12.2%)
  4. x86_64-apple-1: 7500.4s -> 6641.3s (-11.5%)
  5. x86_64-msvc-ext1: 7558.5s -> 7191.2s (-4.9%)
  6. x86_64-mingw-1: 9378.2s -> 8989.4s (-4.1%)
  7. x86_64-msvc-ext2: 5597.5s -> 5821.5s (4.0%)
  8. aarch64-apple: 4495.7s -> 4336.8s (-3.5%)
  9. dist-i586-gnu-i586-i686-musl: 5202.5s -> 5037.1s (-3.2%)
  10. armhf-gnu: 4754.7s -> 4609.0s (-3.1%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#136429 GCI: At their def site, actually wfcheck the where-clause &… 29b2bfb7a798a58b1872595112918bfc714e02f7 (link)
#138139 Emit warning while outputs is not exe and prints linkage in… 46d1647a306ef7a77239bdf2113ee0ea9c36c5ad (link)
#141104 Test(fs): Fix test_eq_windows_file_type for Windows 7 b2177615f086968ca2e9e6d3659714049b990f9b (link)
#141477 Path::with_extension: show that it adds an extension where … e63bfa5da7ff956e62c4a8d6ce63a28d6536be99 (link)
#141533 clean up old rintf leftovers 2bcc26d3f1eef80d04a35eda16a027a796ea3bdc (link)
#141612 Call out possibility of invariant result in variance markers 58bf58d993623e4f672331262ddaf88e8608e1ae (link)
#141638 Use builtin_index instead of hand-rolling it c168363839402f05e93f51d8a6e2fa7960d530c4 (link)
#141643 ci: verify that codebuild jobs use ghcr.io f96ea7e6dd0c72388760e7e9aaebea1ff2fa6e80 (link)
#141675 Reorder ast::ItemKind::{Struct,Enum,Union} fields. 2729bfbf0c0909b129a2647809df5668437231b8 (link)
#141680 replace TraitRef link memory.md 5a003fc2727c2eea71beb8d519cf80b3d71bbcd6 (link)
#141682 interpret/allocation: Fixup type for alloc_bytes 011a26b54c62a26bd061c869ff38cd824973a089 (link)
#141683 Handle ed2021 precise capturing of unsafe binder e386e7bb90b4a3e4dc378218945f99fe3d7c8afc (link)
#141684 rustbook: Bump versions of onig and onig_sys 88089b96174ca1e7ba76a9b5f7d009cf3fd2ec10 (link)
#141687 core: unstably expose atomic_compare_exchange so stdarch ca… 6ca78460484d9127c80caefbc99f0dc6264ac38d (link)
#141690 Add rustc_diagnostic_item to sys::Mutex methods b62cb01015197f841d26dbc66b60a2b65edd1296 (link)
#141702 Add eholk to compiler reviewer rotation 2b91549889e953e12bb51cfdb030a76b845f9ae5 (link)

previous master: 5f025f363d

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (38081f2): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.2%] 3
Regressions ❌
(secondary)
0.3% [0.3%, 0.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.1%] 1
All ❌✅ (primary) 0.2% [0.2%, 0.2%] 3

Max RSS (memory usage)

Results (primary 1.1%, secondary -0.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
4.5% [1.4%, 10.5%] 3
Regressions ❌
(secondary)
6.5% [6.5%, 6.5%] 1
Improvements ✅
(primary)
-2.2% [-3.3%, -1.5%] 3
Improvements ✅
(secondary)
-4.4% [-6.0%, -2.8%] 2
All ❌✅ (primary) 1.1% [-3.3%, 10.5%] 6

Cycles

Results (secondary -16.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-16.3% [-17.7%, -15.1%] 6
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 777.949s -> 777.345s (-0.08%)
Artifact size: 368.50 MiB -> 368.43 MiB (-0.02%)

@rustbot rustbot added the perf-regression Performance regression. label May 29, 2025
@jhpratt jhpratt deleted the rollup-9bjrzfi branch May 29, 2025 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.