Skip to content

Rollup of 9 pull requests #143350

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 27 commits into from
Jul 3, 2025
Merged

Rollup of 9 pull requests #143350

merged 27 commits into from
Jul 3, 2025

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Jul 3, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

GuillaumeGomez and others added 27 commits July 1, 2025 15:49
The discriminant check was not working correctly for negative numbers.
This change fixes that by masking out the relevant bits correctly.
…=lolbinary

Improve CSS for source code block line numbers

Extract some changes from rust-lang#137229 to make the PR smaller (thanks `@yotamofek` for the suggestion!).

r? notriddle
…xtra-checks, r=Kobzol

bootstrap: add build.tidy-extra-checks option

split off from rust-lang#142924

r? `@Kobzol`
…rowLii

Make the enum check work for negative discriminants

The discriminant check was not working correctly for negative numbers. This change fixes that by masking out the relevant bits correctly.

Fixes rust-lang#143218.
…r=oli-obk

Explicitly handle all nodes in `generics_of` when computing parent

If we, for example, forget to feed `generics_of` then it'll silently fall back to empty generics. Make this a bit more explicit.
…eyouxu

Add bootstrap check snapshot tests

Split off from rust-lang#143048, so that we get a baseline of how check behaved before we make changes to it. Note that the output of the check snapshot tests is suboptimal in many places, as we're missing information about stages and the build compiler. That will be changed in rust-lang#143048.

r? `@jieyouxu`
byte-addresses memory -> byte-addressed memory

Small typo fix
interpret: move the native call preparation logic into Miri

`@nia-e` has to do a bunch of changes to this logic for her native call ptrace work, and it's getting annoying that the logic is split between Miri and rustc. So this moves the logic to Miri, keeping just the generic traversal part in rustc. It is unfortunate that this means we have to expose `get_alloc_raw`/`get_alloc_raw_mut`... I hope the function name is scary enough to reduce the risk of misuse.

r? `@oli-obk`
…y789

Use non-global interner in `test_string_interning` in bootstrap

Just a small cleanup that we found on our GSoC call.

CC `@Shourya742`
… r=oli-obk

miri: improve errors for type validity assertion failures

Miri has pretty nice errors for type validity violations, printing which field in the type the problem occurs at and so on.

However, we don't see these errors when using e.g. `mem::zeroed` as that uses `assert_zero_valid` to bail out before Miri can detect the UB.

Similar to what we did with `@saethlin's` UB checks, I think we should disable such language UB checks in Miri so that we can get better error messages. If we go for this we should probably say this in the intrinsic docs as well so that people don't think they can rely on these intrinsics catching anything.

Furthermore, I slightly changed `MaybeUninit::assume_init` so that the `.value` field does not show up in error messages any more.

`@rust-lang/miri` what do you think?
@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) labels Jul 3, 2025
@rustbot rustbot added 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. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Jul 3, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jul 3, 2025

📌 Commit bc0262d 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 Jul 3, 2025
@bors
Copy link
Collaborator

bors commented Jul 3, 2025

⌛ Testing commit bc0262d with merge 6268d0a...

@bors
Copy link
Collaborator

bors commented Jul 3, 2025

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 3, 2025
@bors bors merged commit 6268d0a into rust-lang:master Jul 3, 2025
11 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 3, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#143192 Improve CSS for source code block line numbers 822f379e8801a57d57822c716cfea4115c6ae156 (link)
#143251 bootstrap: add build.tidy-extra-checks option 918749b83b8d642a77a82b10facf2794ef2b8746 (link)
#143273 Make the enum check work for negative discriminants e1b04176d88d0928d99d1ab9b7c64b2498fa4066 (link)
#143292 Explicitly handle all nodes in generics_of when computing… 883508ee13d8c5d41743049f7934de273f86bc5e (link)
#143316 Add bootstrap check snapshot tests b25ff7ef7e2c70ca5de39446a05e8007e42d7c4f (link)
#143321 byte-addresses memory -> byte-addressed memory 6971be3977ef19736e9e1ba9cce145e62681d9d2 (link)
#143324 interpret: move the native call preparation logic into Miri 583aacb3109d09f0ef0ad8fc93967ce52dbfb926 (link)
#143325 Use non-global interner in test_string_interning in boots… 5757ad204f5d47b2bc487e673250d8fb7dc59fc8 (link)
#143327 miri: improve errors for type validity assertion failures fd09196a684ae209995c0d4f411f157dd3a352d2 (link)

previous master: 25face9808

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

github-actions bot commented Jul 3, 2025

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 25face9 (parent) -> 6268d0a (this PR)

Test differences

Show 113 test diffs

Stage 0

  • core::builder::tests::snapshot::check_bootstrap_tool: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_codegen: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_compiler_no_explicit_stage: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_compiler_stage_0: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_compiler_stage_1: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_compiler_stage_2: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_compiletest: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_compiletest_stage1_libtest: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_cross_compile: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_library_cross_compile: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_library_no_explicit_stage: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_library_stage_0: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_library_stage_1: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_library_stage_2: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_miri_no_explicit_stage: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_miri_stage_0: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_miri_stage_1: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_miri_stage_2: [missing] -> pass (J0)
  • core::builder::tests::snapshot::check_rust_analyzer: [missing] -> pass (J0)

Stage 1

  • [ui] tests/ui/mir/enum/negative_discr_break.rs: [missing] -> pass (J2)
  • [ui] tests/ui/mir/enum/negative_discr_ok.rs: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/mir/enum/negative_discr_break.rs: [missing] -> pass (J1)
  • [ui] tests/ui/mir/enum/negative_discr_ok.rs: [missing] -> pass (J1)

Additionally, 90 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 6268d0aa34b46981533b09827c1454b8cf27e032 --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: 8071.2s -> 5720.0s (-29.1%)
  2. x86_64-apple-2: 4847.4s -> 3883.7s (-19.9%)
  3. dist-x86_64-apple: 9001.7s -> 10500.4s (16.6%)
  4. mingw-check-tidy: 75.7s -> 63.9s (-15.6%)
  5. x86_64-apple-1: 8588.9s -> 7617.4s (-11.3%)
  6. dist-ohos-armv7: 4417.2s -> 3929.9s (-11.0%)
  7. dist-ohos-x86_64: 4044.0s -> 4390.4s (8.6%)
  8. x86_64-msvc-2: 6492.9s -> 7012.5s (8.0%)
  9. aarch64-apple: 4832.8s -> 4482.7s (-7.2%)
  10. armhf-gnu: 5355.5s -> 4985.8s (-6.9%)
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

Finished benchmarking commit (6268d0a): 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 -1.7%, secondary 0.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
4.4% [4.4%, 4.4%] 1
Regressions ❌
(secondary)
1.2% [1.2%, 1.2%] 1
Improvements ✅
(primary)
-3.7% [-5.1%, -2.9%] 3
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 1
All ❌✅ (primary) -1.7% [-5.1%, 4.4%] 4

Cycles

Results (secondary 1.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.9% [2.9%, 2.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 1
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.2%] 11
Regressions ❌
(secondary)
0.1% [0.1%, 0.2%] 6
Improvements ✅
(primary)
-0.2% [-0.4%, -0.2%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [-0.4%, 0.2%] 14

Bootstrap: 459.625s -> 462.879s (0.71%)
Artifact size: 372.14 MiB -> 372.11 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-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. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Projects
None yet
Development

Successfully merging this pull request may close these issues.