Skip to content

Rollup of 7 pull requests #140912

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 17 commits into from
May 11, 2025
Merged

Rollup of 7 pull requests #140912

merged 17 commits into from
May 11, 2025

Conversation

fmease
Copy link
Member

@fmease fmease commented May 11, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

nnethercote and others added 17 commits May 8, 2025 19:59
It's always equal to `ast::AttrVec`, so just use that directly.
It's a "utility trait to reduce boilerplate" implemented for `P` and
`AstNodeWrapper`, but removing it gives a net reduction of twenty lines
of code. It's also simpler to just implement
`HasNodeId`/`HasAttrs`/`HasTokens` directly on types instead of via
`AstDeref`.

(I decided to make this change when doing some related refactoring and
the error messages involving `AstDeref` and `HasAttrs` were hard to
understand; removing it helped a lot.)
…r=scottmcm,traviscross,tgross35

Use intrinsics for `{f16,f32,f64,f128}::{minimum,maximum}` operations

This PR creates intrinsics for `{f16,f32,f64,f64}::{minimum,maximum}` operations.

This wasn't done when those operations were added as the LLVM support was too weak but now that LLVM has libcalls for unsupported platforms we can finally use them.

Cranelift and GCC[^1] support are partial, Cranelift doesn't support `f16` and `f128`, while GCC doesn't support `f16`.

r? `@tgross35`

try-job: aarch64-gnu
try-job: dist-various-1
try-job: dist-various-2

[^1]: https://www.gnu.org/software///gnulib/manual/html_node/Functions-in-_003cmath_002eh_003e.html
…t-first, r=petrochenkov

Prefer to suggest stable candidates rather than unstable ones

Fixes rust-lang#140240

The logic is to replace unstable suggestions if we meet a new stable one, and do nothing if any other situation. In old logic, we just use the first candidate we meet as the suggestion for the same items.

E.g., `std::range::legacy::Range` vs `std::ops::Range`, `legacy` in the former is unstable, we prefer to suggest use the latter.
Make t letter looks like lowercase rather than uppercase

randomly noticed that, took opportunity to fix :D
it was looks like "RusT" now fixed to "Rust"
r? `@jieyouxu`
before
<img src="https://github.com/user-attachments/assets/1ff19891-2e7b-4633-897d-2b2635aff9c6" width="65%" />
now
<img src="https://github.com/user-attachments/assets/d577a2af-6755-411b-8050-2556f0f12e75" width="65%" />
…=compiler-errors

Two expand-related cleanups

Minor improvements I found while looking at this code. Best reviewed one commit at a time.

r? `@BoxyUwU`
…_lite, r=BurntSushi

Split duration_constructors to get non-controversial constructors out

This implements rust-lang#140881
…=jieyouxu

Update deps of bootstrap for Cygwin

This PR just runs
```
cargo update fd-lock xattr libc errno
```
It reduces dependency on `rustix 0.38.40` and updates `libc` & `errno`. Now it compiles successfully on Cygwin:)
…ffleLapkin

test intrinsic fallback bodies with Miri

`@Urgau` noted in rust-lang#140792 that fallback bodies our backends don't use are untested... which is correct, and it is a problem. So this adds a testing-only flag to Miri to force the use of fallback bodies, and adds a run of the Miri test suite with that flag to CI. This should not take much more than a minute so I hope it's fine? Let's see how long it actually takes.

While at it, I made that test run also enable MIR optimizations. Miri's CI has a run with that, and it has caught mir-opt bugs in the past -- this way we'd see the CI failure earlier.

r? `@scottmcm`
@rustbot rustbot added 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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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 11, 2025
@fmease
Copy link
Member Author

fmease commented May 11, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented May 11, 2025

📌 Commit 615b447 has been approved by fmease

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

bors commented May 11, 2025

⌛ Testing commit 615b447 with merge fd6626d...

@bors
Copy link
Collaborator

bors commented May 11, 2025

☀️ Test successful - checks-actions
Approved by: fmease
Pushing fd6626d to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 11, 2025
@bors bors merged commit fd6626d into rust-lang:master May 11, 2025
7 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 11, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140792 Use intrinsics for {f16,f32,f64,f128}::{minimum,maximum} 21e64ab5811532ff646299242d238c7e81d700f2 (link)
#140795 Prefer to suggest stable candidates rather than unstable on… 8cc37ef552537445be4868c8f9f392a890d47fc7 (link)
#140865 Make t letter looks like lowercase rather than uppercase ae25dba77e8a7620be84384f3eb4cbec938bc890 (link)
#140878 Two expand-related cleanups 2b3f9ea6b0c2aeabdb7f3e769a939aa80fe174a0 (link)
#140882 Split duration_constructors to get non-controversial constr… 4e1f67b307aabc3ba636731dc3992a8c1d13453a (link)
#140886 Update deps of bootstrap for Cygwin c3e90db5f5dcdd391854e3e93bcb8447f2c84208 (link)
#140903 test intrinsic fallback bodies with Miri faa16cba3a2d79ed1538018f821f3c6494ec77d9 (link)

previous master: 7b84c9e9ca

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

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 7b84c9e (parent) -> fd6626d (this PR)

Test differences

Show 286 test diffs

Stage 0

  • time::constructor_days: [missing] -> pass (J0)
  • time::constructor_hours: [missing] -> pass (J0)
  • time::constructor_minutes: [missing] -> pass (J0)
  • time::constructor_weeks: [missing] -> pass (J0)
  • time::constructors: pass -> [missing] (J0)

Stage 1

  • time::constructor_days: [missing] -> pass (J1)
  • time::constructor_hours: [missing] -> pass (J1)
  • time::constructor_minutes: [missing] -> pass (J1)
  • time::constructor_weeks: [missing] -> pass (J1)
  • time::constructors: pass -> [missing] (J1)
  • [ui] tests/ui/did_you_mean/sugg-stable-import-first-issue-140240.rs: [missing] -> pass (J3)

Stage 2

  • [ui] tests/ui/did_you_mean/sugg-stable-import-first-issue-140240.rs: [missing] -> pass (J2)

Additionally, 274 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 fd6626d7b8dfb04df3b7117d8977a22a1453f1c8 --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. x86_64-apple-2: 3940.6s -> 5355.7s (35.9%)
  2. x86_64-apple-1: 6411.1s -> 8479.7s (32.3%)
  3. dist-x86_64-apple: 10434.4s -> 7840.2s (-24.9%)
  4. dist-apple-various: 8462.5s -> 6794.9s (-19.7%)
  5. x86_64-rust-for-linux: 2605.4s -> 3030.5s (16.3%)
  6. dist-arm-linux: 4959.1s -> 4536.7s (-8.5%)
  7. dist-x86_64-msvc-alt: 7960.9s -> 7304.8s (-8.2%)
  8. dist-riscv64-linux: 5512.4s -> 5118.8s (-7.1%)
  9. dist-various-1: 4710.4s -> 4392.5s (-6.7%)
  10. aarch64-gnu: 6794.2s -> 6422.8s (-5.5%)
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.

@fmease fmease deleted the rollup-rwtn31e branch May 11, 2025 06:16
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (fd6626d): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

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
Regressions ❌
(secondary)
0.2% [0.2%, 0.2%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.3%, -0.3%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 0.0%, secondary 2.6%)

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.5% [0.4%, 0.7%] 12
Regressions ❌
(secondary)
3.3% [2.2%, 5.3%] 5
Improvements ✅
(primary)
-1.4% [-2.8%, -0.5%] 4
Improvements ✅
(secondary)
-0.8% [-0.8%, -0.8%] 1
All ❌✅ (primary) 0.0% [-2.8%, 0.7%] 16

Cycles

Results (primary 2.0%)

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)
2.0% [2.0%, 2.0%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.0% [2.0%, 2.0%] 1

Binary size

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

Bootstrap: 771.777s -> 772.163s (0.05%)
Artifact size: 365.38 MiB -> 365.40 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. 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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.