Skip to content

Rollup of 9 pull requests #144490

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 22 commits into from
Jul 26, 2025
Merged

Rollup of 9 pull requests #144490

merged 22 commits into from
Jul 26, 2025

Conversation

tgross35
Copy link
Contributor

@tgross35 tgross35 commented Jul 26, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lolbinarycat and others added 22 commits June 16, 2025 16:54
either shift+click the Summary button,
or use the `_` key.

this collapses everything,
including (inherent) impl blocks.

no need for a special "expand all impl blocks"
method, as impl blocks are expanded during regular
"expand all".
doing "expand all" -> "collapse all" will always
result in only impl blocks being expaned.

some of the html is split up a bit awkwardly to
try to avoid introducing new whitespaces nodes,
which could affect display.

Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
0.6.1 removes the `compiler-builtins` dependency, part of RUST-142265.
The breaking change from 0.5 to 0.6 is for an update to the
`insecure_time` API [1].

I validated that `./x c library --target x86_64-fortanix-unknown-sgx`
completes successfully with this change.

Link: fortanix/rust-sgx@a34e976 [1]
f16 support for PowerPC has issues in LLVM, therefore we need a small
workaround to prevent LLVM from emitting symbols that don't exist for
PowerPC yet.

It also appears that unused by-value non-immedate issue with gdb applies
to PowerPC targets as well, though I've only tested 64-bit Linux targets.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
if the expression cannot be evaluated in a straightforward way
Naked functions are allowed to define global labels, just like
`global_asm!`.
musl does not implement the symbols required by std for f128 maths.
Disable the associated cfg for all musl targets and adjust the tests
accordingly.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
…r-errors

Don't lint against named labels in `naked_asm!`

Naked functions are allowed to define global labels, just like `global_asm!`.
…-134429, r=GuillaumeGomez

rustdoc: add ways of collapsing all impl blocks

either shift+click the Summary button,
or use the `_` key.

this collapses everything,
including (inherent) impl blocks.

no need for a special "expand all impl blocks"
method, as impl blocks are expanded during regular "expand all".
doing "expand all" -> "collapse all" will always
result in only impl blocks being expaned.

not sure the best way to add a GUI test.

fixes rust-lang#134429
…jethrogb

Upgrade the `fortanix-sgx-abi` dependency

0.6.1 removes the `compiler-builtins` dependency, part of RUST-142265. The breaking change from 0.5 to 0.6 is for an update to the `insecure_time` API [1].

I validated that `./x c library --target x86_64-fortanix-unknown-sgx` completes successfully with this change.

Link: fortanix/rust-sgx@a34e976 [1]
…t-block, r=oli-obk

`loop_match`: suggest extracting to a `const` item

tracking issue: rust-lang#132306
fixes rust-lang#143310
fixes rust-lang#143936
…compiler-errors

Fix unused_parens false positive

Resolves rust-lang#143653.

The "no bounds exception" was indiscriminately set to `OneBound` for referents and pointees. However, if the reference or pointer type itself appears in no-bounds position, any constraints it has must be propagated.

```rust
// unused parens: not in no-bounds position
fn foo(_: Box<(dyn Send)>) {}

// unused parens: in no-bounds position, but one-bound exception applies
fn bar(_: Box<dyn Fn(&u32) -> &(dyn Send)>) {}

// *NOT* unused parens: in no-bounds position, but no exceptions to be made
fn baz(_: Box<dyn Fn(&u32) -> &(dyn Send) + Send>) {}
```
Guarantee 8 bytes of alignment in Thread::into_raw

When using `AtomicPtr` for synchronization it's incredibly useful when you've got a couple bits you can stuff metadata in. By guaranteeing that `Thread`'s `Inner` struct is aligned to 8 bytes everyone can use the bottom 3 bits to signal other things, such as a critical section, etc.

This guarantee is thus very useful and costs us nothing.
…li-obk

tests: debuginfo: Work around or disable broken tests on powerpc

f16 support for PowerPC has issues in LLVM, therefore we need a small workaround to prevent LLVM from emitting symbols that don't exist for PowerPC yet.

It also appears that rust-lang#128973 applies to PowerPC targets as well, though I've only tested 64-bit Linux targets.
…, r=petrochenkov

Small cleanup: Use LocalKey<Cell> methods more
…henkov,tgross35

Disable has_reliable_f128_math on musl targets

musl does not implement the symbols required by rustc for f128 maths. Disable the associated cfg for all musl targets and adjust the tests accordingly.

Closes rust-lang#144423
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc O-SGX Target: SGX 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. labels Jul 26, 2025
@rustbot rustbot added 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 26, 2025
@tgross35
Copy link
Contributor Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jul 26, 2025

📌 Commit 39141d0 has been approved by tgross35

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

bors commented Jul 26, 2025

⌛ Testing commit 39141d0 with merge 8708f3c...

@bors
Copy link
Collaborator

bors commented Jul 26, 2025

☀️ Test successful - checks-actions
Approved by: tgross35
Pushing 8708f3c to master...

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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140871 Don't lint against named labels in naked_asm! e2cacff97abecde03c52a5a96f02f5f65a02bc4e (link)
#141663 rustdoc: add ways of collapsing all impl blocks 72c1c62a1b7b3c5a84ad549c705e3355a67eeb15 (link)
#143272 Upgrade the fortanix-sgx-abi dependency 0ff24a1dd3d097a70edd0874bb35d3d0b822e31d (link)
#143585 loop_match: suggest extracting to a const item b510df9b962dbe7b98fa84698e76fe5843b4391c (link)
#143698 Fix unused_parens false positive c96706ceefba3de4a1220f5d6185a7ac8ea6414a (link)
#143859 Guarantee 8 bytes of alignment in Thread::into_raw 2d42bd86ac529acc157e8d1f777ff017ef92fc29 (link)
#144160 tests: debuginfo: Work around or disable broken tests on po… f6f4230e8791566e16f3b83d6949d545646928d4 (link)
#144412 Small cleanup: Use LocalKey methods more af41d0be7a971a65757863560962e109e83a5716 (link)
#144431 Disable has_reliable_f128_math on musl targets f99e4fa27b8bd0a57331b501c76ac137ba8ab776 (link)

previous master: 051d0e8a95

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 051d0e8 (parent) -> 8708f3c (this PR)

Test differences

Show 48 test diffs

Stage 1

  • [ui] tests/ui/lint/unused/unused-parens-false-positive-issue-143653.rs: [missing] -> pass (J1)
  • [ui] tests/ui/loop-match/suggest-const-item.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/lint/unused/unused-parens-false-positive-issue-143653.rs: [missing] -> pass (J0)
  • [ui] tests/ui/loop-match/suggest-const-item.rs: [missing] -> pass (J0)

Additionally, 44 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 8708f3cd1f96d226f6420a58ebdd61aa0bc08b0a --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: 5888.3s -> 8041.8s (36.6%)
  2. x86_64-apple-1: 8745.9s -> 6912.9s (-21.0%)
  3. pr-check-2: 2177.9s -> 2609.7s (19.8%)
  4. dist-x86_64-apple: 8995.3s -> 7323.1s (-18.6%)
  5. x86_64-apple-2: 3676.4s -> 4293.7s (16.8%)
  6. aarch64-apple: 5592.5s -> 4813.9s (-13.9%)
  7. pr-check-1: 1517.4s -> 1723.9s (13.6%)
  8. i686-gnu-2: 5473.0s -> 6166.0s (12.7%)
  9. i686-gnu-nopt-1: 7332.6s -> 8178.6s (11.5%)
  10. i686-gnu-1: 7428.4s -> 8270.0s (11.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

Finished benchmarking commit (8708f3c): comparison URL.

Overall result: ✅ 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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.6%, -0.3%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 2.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)
2.9% [2.3%, 3.4%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

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

Binary size

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

Bootstrap: 467.491s -> 468.031s (0.12%)
Artifact size: 376.63 MiB -> 376.63 MiB (0.00%)

@tgross35 tgross35 deleted the rollup-ps0utme branch July 28, 2025 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-SGX Target: SGX 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.