Skip to content

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

est31 and others added 14 commits May 13, 2025 16:22
based on tests/ui/rfcs/rfc-2497-if-let-chains/temporary-early-drop.rs
…trochenkov

Add match guard let chain drop order and scoping tests

We have a bunch of tests for if let chain drop order, but those tests don't cover match guard chains to the same depth. This PR adds the following tests:

* match guard equivalents of the if let chains tests in the `drop-order-comparisons.rs` test, added by  rust-lang#133605.
* match guard equivalent of the `mir_let_chains_drop_order.rs` test, added by rust-lang#107251
* match guard equivalent of `temporary-early-drop.rs`, added by rust-lang#133093

The added tests all have variants for 2021 and 2024, showing that the behavior on both editions matches that of if let chains on 2024.

tracking issue: rust-lang#51114
…inux, r=Kobzol

ci: split powerpc64le-linux job

try-job: `dist-powerpc64le-linux-*`
…Kobzol

ci: split dist-arm-linux job

try-job: `dist-arm-linux-*`
…ross35

Implement `ptr::try_cast_aligned` and `NonNull::try_cast_aligned`.

Implement three common methods on raw pointers and `NonNull`s: `try_cast_aligned`.

## Related links

- Tracking Issue: rust-lang#141221

## About `#[inline]`

Since the result of a call to `align_of` is a power of two known at compile time, the compiler is able to reduce a call to `try_cast_aligned` to only test and sete (or test and jne if followed by `unwrap`), at least on every tier 1 target's arch. This seemed like a good reason to `#[inline]` the function.

- https://godbolt.org/z/ocehvPWMx (raw inlining)
- https://godbolt.org/z/3qa4j4Yrn (comparison with no inlining)
…ing-ice, r=nnethercote

Do not call name() on rpitit assoc_item

Fixes rust-lang#141143

r? `@nnethercote`
Update books

## rust-lang/edition-guide

1 commits in 1b1bb49babd65c732468cfa515b0c009bd1d26bc..aa6ce337c0adf7a63e33960d184270f2a45ab9ef
2025-05-20 23:47:34 UTC to 2025-05-20 23:47:34 UTC

- Update references to the `missing_fragment_specifier` lint (rust-lang/edition-guide#376)

## rust-lang/reference

3 commits in acd0231ebc74849f6a8907b5e646ce86721aad76..118fd1f1f0854f50e3ae1fe4b64862aad23009ca
2025-05-20 22:52:38 UTC to 2025-05-20 21:45:13 UTC

- Explain why nested receivers are dyn-incompatible (rust-lang/reference#1822)
- Enable `[canonicalize-issue-links]` and `[no-mentions]` in triagebot (rust-lang/reference#1788)
- Mention the temporary scope of `while let`. (rust-lang/reference#1779)
@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-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 21, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented May 21, 2025

📌 Commit 18f42dd has been approved by matthiaskrgr

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

bors commented May 21, 2025

⌛ Testing commit 18f42dd with merge bbd3a5a...

@bors
Copy link
Collaborator

bors commented May 21, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing bbd3a5a to master...

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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140981 Add match guard let chain drop order and scoping tests f1c8a7ca49eaa8bbd466d90af61b68979fddc068 (link)
#141042 ci: split powerpc64le-linux job 143e6bca8809c3f24586fd10d192db533e6c9959 (link)
#141078 ci: split dist-arm-linux job 787bdabd124f7d1c4e13f7183ff77f523df66276 (link)
#141222 Implement ptr::try_cast_aligned and `NonNull::try_cast_al… 7afb56c9d7a00db0da3df67b446228408f2f6b0c (link)
#141308 Do not call name() on rpitit assoc_item 55636445fddeac0f1a24476186538a7624dfcb1f (link)
#141316 Update books d78f531f11063b5ef60d555480a65125985b5998 (link)

previous master: 87b4541569

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
Contributor

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 87b4541 (parent) -> bbd3a5a (this PR)

Test differences

Show 306 test diffs

Stage 1

  • [crashes] tests/crashes/141143.rs: pass -> [missing] (J0)
  • [ui] tests/ui/impl-trait/in-trait/not-inferred-generic.rs: [missing] -> pass (J0)
  • [ui] tests/ui/mir/mir_match_guard_let_chains_drop_order.rs#edition2021: [missing] -> pass (J0)
  • [ui] tests/ui/mir/mir_match_guard_let_chains_drop_order.rs#edition2024: [missing] -> pass (J0)
  • [ui] tests/ui/rfcs/rfc-2294-if-let-guard/temporary-early-drop.rs#edition2021: [missing] -> pass (J0)
  • [ui] tests/ui/rfcs/rfc-2294-if-let-guard/temporary-early-drop.rs#edition2024: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/impl-trait/in-trait/not-inferred-generic.rs: [missing] -> pass (J1)
  • [ui] tests/ui/mir/mir_match_guard_let_chains_drop_order.rs#edition2021: [missing] -> pass (J1)
  • [ui] tests/ui/mir/mir_match_guard_let_chains_drop_order.rs#edition2024: [missing] -> pass (J1)
  • [ui] tests/ui/rfcs/rfc-2294-if-let-guard/temporary-early-drop.rs#edition2021: [missing] -> pass (J1)
  • [ui] tests/ui/rfcs/rfc-2294-if-let-guard/temporary-early-drop.rs#edition2024: [missing] -> pass (J1)
  • [crashes] tests/crashes/141143.rs: pass -> [missing] (J2)

Additionally, 294 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 bbd3a5ada41e0d4678de15d10404a4733dba4087 --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-aarch64-linux: 7752.5s -> 5369.0s (-30.7%)
  2. dist-apple-various: 9006.8s -> 6793.9s (-24.6%)
  3. x86_64-apple-1: 9260.8s -> 7281.2s (-21.4%)
  4. aarch64-gnu: 6830.3s -> 6379.6s (-6.6%)
  5. dist-i586-gnu-i586-i686-musl: 5205.4s -> 5540.0s (6.4%)
  6. aarch64-apple: 4403.6s -> 4123.8s (-6.4%)
  7. dist-aarch64-apple: 5662.1s -> 5311.0s (-6.2%)
  8. x86_64-mingw-2: 7035.1s -> 7385.0s (5.0%)
  9. armhf-gnu: 4628.6s -> 4400.3s (-4.9%)
  10. x86_64-gnu-llvm-19-2: 6097.3s -> 5824.5s (-4.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.

@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (bbd3a5a): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (primary -3.9%, secondary -3.1%)

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)
-3.9% [-5.7%, -2.2%] 2
Improvements ✅
(secondary)
-3.1% [-5.5%, -0.6%] 2
All ❌✅ (primary) -3.9% [-5.7%, -2.2%] 2

Cycles

Results (secondary -0.4%)

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)
1.0% [0.8%, 1.0%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.0% [-1.7%, -0.4%] 6
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 775.275s -> 776.541s (0.16%)
Artifact size: 365.51 MiB -> 365.51 MiB (-0.00%)

@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true

@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

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

@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try-perf.remote=origin
file:.git/config branch.try-perf.merge=refs/heads/try-perf
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true

@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true

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-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.

9 participants