Skip to content

Conversation

Zalathar
Copy link
Contributor

@Zalathar Zalathar commented Sep 11, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Ariel Ben-Yehuda and others added 25 commits September 8, 2025 14:41
That test causes a large amount of crashes. If a system
has a /proc/sys/kernel/core_pattern that uploads core dumps enabled,
it will take a long time to complete. Set dumpable to 0 to avoid that.

Before:

$ time ./panic-uninitialized-zeroed

real    0m47.457s
user    0m0.023s
sys     0m0.021s

After:
$ ./panic-uninitialized-zeroed

real    0m0.029s
user    0m0.019s
sys     0m0.010s
This patch defines minimum CPU feature requirements, updates toolchain
baseline, and streamlines maintainer list:

- Specify double-precision floating-point and LSX as mandatory CPU features
- Raise the minimum required binutils version to 2.42+, due to relocations
  introduced by the default medium code model
- Remove outdated maintainers to reduce irrelevant notifications
also add INFO.md file explaining the purpouse of the ptr/docs dir.
Co-authored-by: Jubilee <workingjubilee@gmail.com>
Using the MCVE reported in RUST-145770.
…, r=petrochenkov"

This reverts commit 1eeb8e8, reversing
changes made to 324bf2b.

Unfortunately the assert desugaring change is not backwards compatible,
see RUST-145770.

Code such as

```rust
#[derive(Debug)]
struct F {
    data: bool
}

impl std::ops::Not for F {
  type Output = bool;
  fn not(self) -> Self::Output { !self.data }
}

fn main() {
  let f = F { data: true };

  assert!(f);
}
```

would be broken by the assert desugaring change. We may need to land
the change over an edition boundary, or limit the editions that the
desugaring change impacts.
…39190-pt3, r=workingjubilee

core::ptr: deduplicate docs for as_ref, addr, and as_uninit_ref

also add INFO.md file explaining the purpose of the ptr/docs dir, and give some pointers (heh) to future maintainers.

follow up to rust-lang#142101

part of rust-lang#139190

r? `@workingjubilee`
disable core dumps for panic-uninitialized-zeroed

That test causes a large amount of crashes. If a system has a /proc/sys/kernel/core_pattern that uploads core dumps enabled, it will take a long time to complete. Set dumpable to 0 to avoid that.

Before:
```
$ time ./panic-uninitialized-zeroed

real    0m47.457s
user    0m0.023s
sys     0m0.021s
```

After:
```
$ ./panic-uninitialized-zeroed

real    0m0.029s
user    0m0.019s
sys     0m0.010s
```
… r=fee1-dead

report duplicate symbols added by the driver

The panic message did not mention what symbols were duplicates, which made the panic hard to debug. This came up in [#t-compiler/help > Easiest way to find offending duplicate symbols](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Easiest.20way.20to.20find.20offending.20duplicate.20symbols/with/538295740).

This behavior was introduced in rust-lang#138682.

r? ```@fee1-dead```
…jieyouxu

Update the LoongArch target documentation

This patch defines minimum CPU feature requirements, updates toolchain baseline, and streamlines maintainer list:

- Specify double-precision floating-point and LSX as mandatory CPU features
- Raise the minimum required binutils version to 2.42+, due to relocations introduced by the default medium code model
- Remove outdated maintainers to reduce irrelevant notifications

r? `@jieyouxu`
… r=tgross35

Fix `compare_against_sw_vers` test

The `saturating_sub` doesn't actually perform its intended since the version numbers are signed integers (which I changed in a later revision of rust-lang#138944).

Fixes the issue described in rust-lang#138944 (comment).

r? tgross35
…float_tests, r=tgross35

Unify and deduplicate bits conv float tests

cc rust-lang#141726

This is a proposal to unify and deduplicate the bits conv tests for f16, f32, f64 and f128
…gjubilee

s390x: mark soft-float target feature as incompatible

This provides a more informative warning when someone manually sets `+soft-float` on s390x.
…nds, r=estebank

Less greedily parse `[const]` bounds

> [!IMPORTANT]
> If you're coming here from any beta backport nomination thread on Zulip, only the last commit is truly relevant (the first commit doesn't need to be backported, it only contains test modifications)!

Don't consider `[` to start a bound, only consider `[const]` in its entirety to do so. This drastically reduces (but doesn't eliminate!) the chance of *real* breakages. Like `const`, `~const` and `async` before, `[const]` unavoidably brings along theoretical breakages, see preexisting tests: `macro-const-trait-bound-theoretical-regression.rs` and `macro-async-trait-bound-theoretical-regression.rs`.

Side note: It's unfortunate that we have to do this but apart from the known fact that MBE hurts forward compatibility, the `[const]` syntax is simply a bit scuffed (also CC'ing rust-lang#146122, section (3)).

Fixes [after beta backport] rust-lang#146417.

* 1st commit: Restore the original test intentions of several preexisting related tests that were unfortunately lost over time
  * I've added a bunch of SCREAMING comments to make it less likely to be lost again
  * CC PR rust-lang#119099 which added most of these tests
  * CC [rust-lang#144409 (comment)](rust-lang#144409 (comment)) for further context (NB: It's not the only PR that negatively affected the test intention)
* 2nd commit: Actually address the regression

r? `@oli-obk` or anyone
…ge, r=workingjubilee

Improve `core::ops` coverage

This PR improves the `core::ops` coverage by adding new tests to `coretests`
…rage, r=workingjubilee

Improve `core::array` coverage

This PR improves the `core::array` coverage by adding new tests to `coretests`
… r=estebank,jackh726

Revert `assert!` desugaring changes (rust-lang#122661)

Reverts rust-lang#122661 to prevent rust-lang#145770 slipping into beta.

cc `@estebank` (FYI)

### Review remarks

- Commit 1 is the MCVE reported in rust-lang#145770 added as a regression test `tests/ui/macros/assert-desugaring-145770.rs`. Against `master`, this test fails.
- Commit 2 reverts rust-lang#122661 (with a merge conflict fixed). `tests/ui/macros/assert-desugaring-145770.rs` now passes.
@rustbot rustbot added O-apple Operating system: Apple (macOS, iOS, tvOS, visionOS, watchOS) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. 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. labels Sep 11, 2025
@rustbot rustbot added the rollup A PR which is a rollup label Sep 11, 2025
@Zalathar
Copy link
Contributor Author

This is a relatively-modest rollup aimed at getting #146428 and #146422 merged; everything else is along for the ride.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Sep 11, 2025

📌 Commit 613a3b6 has been approved by Zalathar

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

bors commented Sep 11, 2025

⌛ Testing commit 613a3b6 with merge 633bde4...

bors added a commit that referenced this pull request Sep 11, 2025
Rollup of 11 pull requests

Successful merges:

 - #142315 (core::ptr: deduplicate docs for as_ref, addr, and as_uninit_ref)
 - #146335 (disable core dumps for panic-uninitialized-zeroed)
 - #146347 (report duplicate symbols added by the driver)
 - #146370 (Update the LoongArch target documentation)
 - #146379 (Fix `compare_against_sw_vers` test)
 - #146380 (Unify and deduplicate bits conv float tests)
 - #146415 (s390x: mark soft-float target feature as incompatible)
 - #146422 (Less greedily parse `[const]` bounds)
 - #146424 (Improve `core::ops` coverage)
 - #146425 (Improve `core::array` coverage)
 - #146428 (Revert `assert!` desugaring changes (#122661))

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented Sep 11, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 11, 2025
@Zalathar
Copy link
Contributor Author

@bors retry (runner flaked out)

@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 Sep 11, 2025
@Zalathar
Copy link
Contributor Author

@bors try jobs=test-various,dist-various,x86_64-gnu-llvm-19-3

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Sep 11, 2025
Rollup of 11 pull requests

try-job: test-various
try-job: dist-various
try-job: x86_64-gnu-llvm-19-3
@rust-bors
Copy link

rust-bors bot commented Sep 11, 2025

💔 Test for fa4163d failed: CI. Failed job:

@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
   Compiling ureq v3.0.8
   Compiling citool v0.1.0 (/home/runner/work/rust/rust/src/ci/citool)
    Finished `dev` profile [unoptimized] target(s) in 21.30s
     Running `target/debug/citool calculate-job-matrix`
Run type: TryJob { job_patterns: Some(["test-various", "dist-various", "x86_64-gnu-llvm-19-3"]) }
Error: Failed to calculate job matrix

Caused by:
    Patterns `dist-various` did not match any auto jobs
##[error]Process completed with exit code 1.

@Zalathar
Copy link
Contributor Author

Whoops, messed up one of the job names.

At this point there's little benefit in running advance try jobs; might as well just wait for the real thing.

@bors
Copy link
Collaborator

bors commented Sep 11, 2025

⌛ Testing commit 613a3b6 with merge 76c5ed2...

@bors
Copy link
Collaborator

bors commented Sep 11, 2025

☀️ Test successful - checks-actions
Approved by: Zalathar
Pushing 76c5ed2 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Sep 11, 2025
@bors bors merged commit 76c5ed2 into rust-lang:master Sep 11, 2025
11 of 12 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Sep 11, 2025
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 5e33838 (parent) -> 76c5ed2 (this PR)

Test differences

Show 261 test diffs

Stage 1

  • array::array_eq: [missing] -> pass (J0)
  • floats::f128::test_float_bits_conv: pass -> [missing] (J0)
  • floats::f16::test_float_bits_conv: pass -> [missing] (J0)
  • floats::f32::test_float_bits_conv: pass -> [missing] (J0)
  • floats::f64::test_float_bits_conv: pass -> [missing] (J0)
  • floats::to_bits_conv::const_::test_f128: [missing] -> pass (J0)
  • floats::to_bits_conv::const_::test_f16: [missing] -> pass (J0)
  • floats::to_bits_conv::const_::test_f32: [missing] -> pass (J0)
  • floats::to_bits_conv::const_::test_f64: [missing] -> pass (J0)
  • floats::to_bits_conv::test_f128: [missing] -> pass (J0)
  • floats::to_bits_conv::test_f16: [missing] -> pass (J0)
  • floats::to_bits_conv::test_f32: [missing] -> pass (J0)
  • floats::to_bits_conv::test_f64: [missing] -> pass (J0)
  • ops::test_fmt: [missing] -> pass (J0)
  • ops::test_one_sided_range_bound: [missing] -> pass (J0)
  • ops::test_range_bounds: [missing] -> pass (J0)
  • ops::test_range_bounds_contains: [missing] -> pass (J0)
  • ops::test_range_contains: [missing] -> pass (J0)
  • ops::test_range_inclusive_end_bound: [missing] -> pass (J0)
  • ops::test_range_to_contains: [missing] -> pass (J0)
  • [ui] tests/ui/macros/assert-desugaring-145770.rs: [missing] -> pass (J4)
  • [ui] tests/ui/macros/assert-macro-lifetimes.rs: pass -> [missing] (J4)
  • [ui] tests/ui/traits/const-traits/macro-maybe-const-trait-bounds.rs: [missing] -> pass (J4)

Stage 2

  • floats::f128::test_float_bits_conv: pass -> [missing] (J1)
  • floats::f16::test_float_bits_conv: pass -> [missing] (J1)
  • floats::to_bits_conv::test_f128: [missing] -> pass (J1)
  • floats::to_bits_conv::test_f16: [missing] -> pass (J1)
  • array::array_eq: [missing] -> pass (J2)
  • floats::f32::test_float_bits_conv: pass -> [missing] (J2)
  • floats::f64::test_float_bits_conv: pass -> [missing] (J2)
  • floats::to_bits_conv::const_::test_f128: [missing] -> pass (J2)
  • floats::to_bits_conv::const_::test_f16: [missing] -> pass (J2)
  • floats::to_bits_conv::const_::test_f32: [missing] -> pass (J2)
  • floats::to_bits_conv::const_::test_f64: [missing] -> pass (J2)
  • floats::to_bits_conv::test_f32: [missing] -> pass (J2)
  • floats::to_bits_conv::test_f64: [missing] -> pass (J2)
  • ops::test_fmt: [missing] -> pass (J2)
  • ops::test_one_sided_range_bound: [missing] -> pass (J2)
  • ops::test_range_bounds: [missing] -> pass (J2)
  • ops::test_range_bounds_contains: [missing] -> pass (J2)
  • ops::test_range_contains: [missing] -> pass (J2)
  • ops::test_range_inclusive_end_bound: [missing] -> pass (J2)
  • ops::test_range_to_contains: [missing] -> pass (J2)
  • [ui] tests/ui/macros/assert-desugaring-145770.rs: [missing] -> pass (J3)
  • [ui] tests/ui/macros/assert-macro-lifetimes.rs: pass -> [missing] (J3)
  • [ui] tests/ui/traits/const-traits/macro-maybe-const-trait-bounds.rs: [missing] -> pass (J3)
  • [run-make] tests/run-make/compressed-debuginfo-zstd: ignore (ignored if LLVM wasn't build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support)) -> pass (J5)

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

Job group index

  • J0: pr-check-2, x86_64-gnu-llvm-19-3, x86_64-gnu-llvm-20-3
  • J1: aarch64-apple, aarch64-gnu, aarch64-gnu-llvm-19-1, aarch64-msvc-1, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-gnu, x86_64-gnu-aux, x86_64-gnu-llvm-19-2, x86_64-gnu-llvm-20-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-msvc-1
  • J2: aarch64-apple, aarch64-gnu, aarch64-gnu-llvm-19-1, aarch64-msvc-1, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-gnu, x86_64-gnu-aux, x86_64-gnu-llvm-19-2, x86_64-gnu-llvm-20-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J3: aarch64-apple, aarch64-gnu, aarch64-gnu-llvm-19-1, aarch64-msvc-1, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-gnu, x86_64-gnu-debug, x86_64-gnu-llvm-19, x86_64-gnu-llvm-19-2, x86_64-gnu-llvm-20-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J4: x86_64-gnu-llvm-19-3, x86_64-gnu-llvm-20-3
  • J5: x86_64-gnu-nopt
Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 76c5ed2847cdb26ef2822a3a165d710f6b772217 --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. pr-check-1: 2040.0s -> 1368.2s (-32.9%)
  2. x86_64-rust-for-linux: 3661.7s -> 2596.9s (-29.1%)
  3. x86_64-gnu-tools: 4453.9s -> 3404.8s (-23.6%)
  4. pr-check-2: 2799.8s -> 2163.5s (-22.7%)
  5. test-various: 5404.7s -> 4414.0s (-18.3%)
  6. arm-android: 6930.0s -> 5668.7s (-18.2%)
  7. x86_64-gnu-stable: 8134.3s -> 6712.0s (-17.5%)
  8. armhf-gnu: 5845.5s -> 4847.8s (-17.1%)
  9. x86_64-gnu-miri: 5343.7s -> 4525.6s (-15.3%)
  10. x86_64-gnu: 8040.7s -> 6893.3s (-14.3%)
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
#142315 core::ptr: deduplicate docs for as_ref, addr, and as_uninit… 96887a1fba0b027afdc2a70455c59edbaed0a848 (link)
#146335 disable core dumps for panic-uninitialized-zeroed 1ebb640371865209af3f791ae877f55cd85e09d0 (link)
#146347 report duplicate symbols added by the driver a8ca476173a7ea72aec75147715d5e1c9d9b1385 (link)
#146370 Update the LoongArch target documentation a651b7bde1b92f4c26f87d2418185e18bac4bfbc (link)
#146379 Fix compare_against_sw_vers test 8b1cbe89af828c6cca88465bbcb26e25f2e26797 (link)
#146380 Unify and deduplicate bits conv float tests f71cc8dba2c50b303d68f56f88e36ae76af6f687 (link)
#146415 s390x: mark soft-float target feature as incompatible 47579adaec92db5ec472f165279610a3e8a29191 (link)
#146422 Less greedily parse [const] bounds 67545c1a271cbacbe5e7dfc27b45c484148f5d39 (link)
#146424 Improve core::ops coverage 72ed47d61e8a1de6d998e8c449a44f314a6293aa (link)
#146425 Improve core::array coverage 4f6613a88b2983adc47209c28121620a4b8273af (link)
#146428 Revert assert! desugaring changes (#122661) 499325b0d419a4cb51183e885d48f36dc762591b (link)

previous master: 5e33838cca

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

@Zalathar Zalathar deleted the rollup-eivhl6u branch September 11, 2025 12:20
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (76c5ed2): comparison URL.

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

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

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

Max RSS (memory usage)

Results (secondary -0.9%)

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

Cycles

Results (secondary 0.8%)

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)
3.7% [3.7%, 3.7%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.2% [-2.2%, -2.2%] 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.4%] 11
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.5%, -0.0%] 16
Improvements ✅
(secondary)
-0.1% [-0.2%, -0.0%] 5
All ❌✅ (primary) -0.0% [-0.5%, 0.4%] 27

Bootstrap: 468.387s -> 466.951s (-0.31%)
Artifact size: 387.81 MiB -> 387.77 MiB (-0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. O-apple Operating system: Apple (macOS, iOS, tvOS, visionOS, watchOS) 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-clippy Relevant to the Clippy team. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.