Skip to content

Rollup of 3 pull requests - #162775

Merged
rust-bors[bot] merged 8 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-TgoyeCA
Sep 14, 2026
Merged

rust-bors[bot] merged 8 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-TgoyeCA

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

RalfJung and others added 8 commits September 8, 2026 09:43
…li-obk

Fix gap in const stability checks around intrinsics

@N1ark managed to find a gap in our const stability checks around intrinsics. This PR fixes that gap.

Sadly the standard library already relies on the gap, so for now I added a `rustc_allow_const_fn_unstable` but that attribute usually needs some process to be approved.

Also fixes rust-lang#150961 by properly supporting & testing `rustc_do_not_const_check` on intrinsics.
…Jung

Remove `Box::into_unique`

As discussed on [zulip](https://rust-lang.zulipchat.com/#narrow/channel/136281-t-opsem/topic/What.20is.20the.20current.20state.20of.20unleaking.20a.20.60Box.3CT.2C.20Global.3E.60.3F/with/623860839), this PR removes the `Box::into_unique` method and also adds a test for `into_raw_with_allocator`.

Note that all uses of `into_unique` were already removed from std in rust-lang#162732. The only remaining use was a Miri test.

I didn't copy over the "lose the tag" operation for the `into_raw_with_allocator` test, because the file you wanted me to put this in doesn't have `-Zmiri-permissive-provenance` ^^

r? RalfJung
… r=hanna-kruppe,saethlin

stop unleaking `&mut`s in std and the compiler

As discussed on [zulip](https://rust-lang.zulipchat.com/#narrow/channel/136281-t-opsem/topic/What.20is.20the.20current.20state.20of.20unleaking.20a.20.60Box.3CT.2C.20Global.3E.60.3F/with/623860839), this PR removes all the dubious uses (I could find) of `Box::leak` from rustc and std

r? libs
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 14, 2026
@rustbot rustbot added 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. labels Sep 14, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5

@rust-bors

rust-bors Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit e7feb41 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 14, 2026
@rust-bors

rust-bors Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 8m 4s
Pushing 574ff7d to main...

@rust-bors
rust-bors Bot merged commit 574ff7d into rust-lang:main Sep 14, 2026
14 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Sep 14, 2026
@github-actions

Copy link
Copy Markdown
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 a8a1e6f (parent) -> 574ff7d (this PR)

Test differences

Show 552 test diffs

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

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 574ff7d98bd6d037e5236a8453029173b32631fd --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. test-x86_64-gnu-llvm-21-3: 1h 11m -> 1h 56m (+64.3%)
  2. test-x86_64-gnu-stdlib-semver-check: 10m 50s -> 16m 28s (+52.0%)
  3. test-i686-gnu-2: 1h 11m -> 1h 47m (+50.6%)
  4. test-x86_64-gnu-gcc-core-tests: 9m 59s -> 14m 51s (+48.7%)
  5. dist-various-2: 38m 14s -> 51m 10s (+33.8%)
  6. dist-ohos-aarch64: 1h 1m -> 1h 21m (+33.0%)
  7. dist-i686-msvc: 40m 37s -> 53m 15s (+31.1%)
  8. test-x86_64-gnu-llvm-21: 44m 5s -> 57m 47s (+31.1%)
  9. test-pr-check-2: 33m 33s -> 43m 21s (+29.2%)
  10. test-x86_64-gnu-gcc: 57m 10s -> 1h 13m (+29.0%)
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-bors

rust-bors Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#162409 Fix gap in const stability checks around intrinsics 537ff44bf1c0eed7b368e0cba6f3211a04aa8b05
(link)
#162763 Remove Box::into_unique 55e90fc35ea7347299c28d418f4d5b90ee5240b4
(link)
#162766 stop unleaking &muts in std and the compiler 913889fbb28463a5ba4227406c2425d5eede5449
(link)

parent commit: a8a1e6fd9d

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

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (574ff7d): 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
Regressions ❌
(secondary)
0.4% [0.3%, 0.5%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -3.5%, secondary 0.7%)

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.5% [1.8%, 8.9%] 4
Improvements ✅
(primary)
-3.5% [-4.5%, -2.2%] 4
Improvements ✅
(secondary)
-4.4% [-6.5%, -2.1%] 3
All ❌✅ (primary) -3.5% [-4.5%, -2.2%] 4

Cycles

Results (primary 2.5%, secondary 2.5%)

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

mean range count
Regressions ❌
(primary)
2.5% [2.3%, 2.7%] 2
Regressions ❌
(secondary)
5.6% [3.3%, 8.1%] 8
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-5.9% [-7.9%, -2.1%] 3
All ❌✅ (primary) 2.5% [2.3%, 2.7%] 2

Binary size

Results (primary -0.1%, secondary -1.0%)

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

mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.5%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.2% [-0.5%, -0.1%] 13
Improvements ✅
(secondary)
-1.0% [-1.4%, -0.1%] 5
All ❌✅ (primary) -0.1% [-0.5%, 0.5%] 17

Bootstrap: 495.556s -> 496.664s (0.22%)
Artifact size: 406.86 MiB -> 406.89 MiB (0.01%)

@JonathanBrouwer

JonathanBrouwer commented Sep 15, 2026 •

Copy link
Copy Markdown
Member Author

Just a test run for the new feature, not actually interested in the results:
@rust-timer triage all

@rust-timer

rust-timer commented Sep 15, 2026 •

Copy link
Copy Markdown
Collaborator
Running triage with 3 benchmarks

Triage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
For this rollup, these benchmarks are:

  • coercions
  • ctfe-stress-5
  • regression-31157

#162409 537ff44 Fix gap in const stability checks around intrinsics

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

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

This perf run didn't have relevant results for this metric.

Binary size

Results (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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.1%] 3
All ❌✅ (primary) - - 0

#162763 55e90fc Remove Box::into_unique

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.3% [0.3%, 0.3%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

This perf run didn't have relevant results for this metric.

Binary size

This perf run didn't have relevant results for this metric.


#162766 913889f stop unleaking &muts in std and the compiler

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.4%, -0.4%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

This perf run didn't have relevant results for this metric.

Binary size

Results (secondary -1.2%)

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)
-1.2% [-1.4%, -1.2%] 4
All ❌✅ (primary) - - 0

@JonathanBrouwer

Copy link
Copy Markdown
Member Author

Yay!

@maxdexh

maxdexh commented Sep 15, 2026

Copy link
Copy Markdown
Member

since you gave me 2 notifications for your test, you can have one too ^^

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. rollup A PR which is a rollup 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.

5 participants