Skip to content

Rollup of 8 pull requests #141216

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 20 commits into from
May 18, 2025
Merged

Rollup of 8 pull requests #141216

merged 20 commits into from
May 18, 2025

Conversation

fmease
Copy link
Member

@fmease fmease commented May 18, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

mathisbot and others added 20 commits April 30, 2025 17:54
Add per page TOC in the `rustc` book

This PR adds per page Table of Content (TOC) in the `rustc` book (to be extended in the future to our other books).

The goal is to easy the navigation inside the page by providing quick overview of the page content and our position inside that page.

That functionality is unfortunately not available natively in `mdbook`, which prompted community members to create [mdBook-pagetoc](https://github.com/JorelAli/mdBook-pagetoc/) (which this PR is heavily inspired by). It's "only" a JS file (to handle the TOC) and a CSS file (to handle the margin, colors, screen size, ...), there is no "post-processor" needed (in mdbook sense).

![image](https://github.com/user-attachments/assets/9e790bea-059d-414e-b4a5-ac8170f57e27)

Live preview at: http://urgau.rf.gd/book

r? ```@jieyouxu```
Stabilize `#![feature(non_null_from_ref)]`

This PR stabilizes the following:
```rust
impl<T: ?Sized> NonNull<T> {
    pub const fn from_ref(reference: &T) -> NonNull<T>;
    pub const fn from_mut(reference: &mut T) -> NonNull<T>;
}
```
The feature is tracked in [rust-lang#130823](rust-lang#130823).
…Simulacrum

Make some `f32`/`f64` tests also run in const-context
Remove #![feature(let_chains)] from library and src/librustdoc

PR rust-lang#132833 has stabilized the `let_chains` feature. This PR removes the last occurences from the library, the compiler, and librustdoc (also because rust-lang#140887 missed the conditional in one of the crates as it was behind the "rustc" feature).

We keep `core` as exercise for the future as updating it is non-trivial (see PR thread).
[win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test

PR rust-lang#140758 added the undocumented `/arm64hazardfree` MSVC linker flag to work around a test failure where LLVM generated code that would trip a hazard in an outdated ARM processor.

Adding this flag caused issues with LLD, as it doesn't recognize it.

Rethinking the issue, using the undocumented flag seems like the incorrect solution: there's no guarantee that the flag won't be removed in the future, or change its meaning.

Instead, I've disabled the problematic test for Arm64 Windows and have filed a bug with the MSVC team to have the check removed: <https://developercommunity.microsoft.com/t/Remove-checking-for-and-fixing-Cortex-A/10905134>

This PR supersedes rust-lang#140977

r? ```@jieyouxu```
Enable [behind-upstream] triagebot option for rust-lang/rust

After testing in [rustc-develop-guide](rust-lang/rustc-dev-guide#2384 (comment)), we can turn on `behind-upstream` here.

Doc: https://forge.rust-lang.org/triagebot/behind-upstream.html

r? ```@Urgau```
Use `crate::` prefix for root macro suggestions

Fixes rust-lang#141082

I've changed the prefix to `crate` directly, since it's compatible across all editions.
Fix Rust for Linux ping group label

Noticed in rust-lang#140966 (comment). Seems like a broken label can cause the triagebot ping message to not be issued.

See rust-lang/triagebot#1992.

```@rustbot``` label: +A-rust-for-linux
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide 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 May 18, 2025
@fmease
Copy link
Member Author

fmease commented May 18, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented May 18, 2025

📌 Commit c7e2e88 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 18, 2025
@bors
Copy link
Collaborator

bors commented May 18, 2025

⌛ Testing commit c7e2e88 with merge b53e5c9db04c89fa15c96f03ae2e0c538b598940...

@bors
Copy link
Collaborator

bors commented May 18, 2025

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

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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140113 Add per page TOC in the rustc book 9b510aa1e7812cd5ac32f047d9dcbc05370643d2 (link)
#140511 Stabilize #![feature(non_null_from_ref)] 600692e06fe5ff631769ff95961696cf894d1e7c (link)
#140924 Make some f32/f64 tests also run in const-context d4747183f8dc02939a731ac8e5fcaad709305f20 (link)
#140966 Remove #![feature(let_chains)] from library and src/librust… 21432c16ec3ad843d125ed520c2544f952ce55a8 (link)
#141045 [win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option… 96146bb5a43806a541619379c15de2820caf575f (link)
#141071 Enable [behind-upstream] triagebot option for rust-lang/rust f8b9e52fe64e5c5619b1dc1d2d0a6e06abeccc69 (link)
#141132 Use crate:: prefix for root macro suggestions 780fd2645930ca71fcc859686d92fda44fdb9f8c (link)
#141139 Fix Rust for Linux ping group label f1035e05d8621533be2524df3f28b5452c035ad4 (link)

previous master: 7205fc537d

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 7205fc5 (parent) -> b53e5c9 (this PR)

Test differences

Show 120 test diffs

Stage 0

  • num::f32_const::div_euclid: [missing] -> pass (J1)
  • num::f32_const::max: [missing] -> pass (J1)
  • num::f32_const::maximum: [missing] -> pass (J1)
  • num::f32_const::midpoint: [missing] -> pass (J1)
  • num::f32_const::min: [missing] -> pass (J1)
  • num::f32_const::minimum: [missing] -> pass (J1)
  • num::f32_const::rem_euclid: [missing] -> pass (J1)
  • num::f64_const::div_euclid: [missing] -> pass (J1)
  • num::f64_const::max: [missing] -> pass (J1)
  • num::f64_const::maximum: [missing] -> pass (J1)
  • num::f64_const::midpoint: [missing] -> pass (J1)
  • num::f64_const::min: [missing] -> pass (J1)
  • num::f64_const::minimum: [missing] -> pass (J1)
  • num::f64_const::rem_euclid: [missing] -> pass (J1)

Stage 1

  • num::f32_const::div_euclid: [missing] -> pass (J0)
  • num::f32_const::max: [missing] -> pass (J0)
  • num::f32_const::maximum: [missing] -> pass (J0)
  • num::f32_const::midpoint: [missing] -> pass (J0)
  • num::f32_const::min: [missing] -> pass (J0)
  • num::f32_const::minimum: [missing] -> pass (J0)
  • num::f32_const::rem_euclid: [missing] -> pass (J0)
  • num::f64_const::div_euclid: [missing] -> pass (J0)
  • num::f64_const::max: [missing] -> pass (J0)
  • num::f64_const::maximum: [missing] -> pass (J0)
  • num::f64_const::midpoint: [missing] -> pass (J0)
  • num::f64_const::min: [missing] -> pass (J0)
  • num::f64_const::minimum: [missing] -> pass (J0)
  • num::f64_const::rem_euclid: [missing] -> pass (J0)
  • [ui] tests/ui/imports/issue-99695.rs: pass -> [missing] (J2)
  • [ui] tests/ui/imports/issue-99695.rs#edition_2015: [missing] -> pass (J2)
  • [ui] tests/ui/imports/issue-99695.rs#edition_2018: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/imports/issue-99695.rs: pass -> [missing] (J3)
  • [ui] tests/ui/imports/issue-99695.rs#edition_2015: [missing] -> pass (J3)
  • [ui] tests/ui/imports/issue-99695.rs#edition_2018: [missing] -> pass (J3)

Additionally, 86 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 b53e5c9db04c89fa15c96f03ae2e0c538b598940 --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-1: 6673.4s -> 9147.4s (37.1%)
  2. dist-apple-various: 5731.4s -> 7783.8s (35.8%)
  3. dist-x86_64-apple: 8588.6s -> 9754.0s (13.6%)
  4. x86_64-apple-2: 4669.9s -> 5289.1s (13.3%)
  5. dist-ohos-aarch64: 4538.0s -> 4863.0s (7.2%)
  6. aarch64-apple: 4303.2s -> 4007.8s (-6.9%)
  7. arm-android: 5664.9s -> 5297.1s (-6.5%)
  8. x86_64-msvc-ext1: 7071.7s -> 7463.6s (5.5%)
  9. dist-powerpc64-linux: 5678.0s -> 5392.6s (-5.0%)
  10. dist-aarch64-apple: 5801.5s -> 5528.4s (-4.7%)
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-pa5mvx3 branch May 18, 2025 15:22
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b53e5c9): comparison URL.

Overall result: ❌ regressions - 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.7% [0.7%, 0.8%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 6.4%, secondary 1.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)
6.4% [6.4%, 6.4%] 1
Regressions ❌
(secondary)
2.4% [0.7%, 6.9%] 11
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.6% [-6.8%, -0.4%] 3
All ❌✅ (primary) 6.4% [6.4%, 6.4%] 1

Cycles

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

Binary size

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

Bootstrap: 777.426s -> 776.543s (-0.11%)
Artifact size: 365.44 MiB -> 365.45 MiB (0.00%)

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-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide 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-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.