Skip to content

Rollup of 6 pull requests#154916

Merged
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
jhpratt:rollup-RkdDmtW
Apr 7, 2026
Merged

Rollup of 6 pull requests#154916
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
jhpratt:rollup-RkdDmtW

Conversation

@jhpratt
Copy link
Copy Markdown
Member

@jhpratt jhpratt commented Apr 6, 2026

Successful merges:

r? @ghost

Create a similar rollup

Zalathar and others added 13 commits April 4, 2026 13:31
Incremental revisions beginning with `rfail` would cause the incremental test
runner to build the test program, expecting success, and then run the test
program, expecting failure.

Expecting incremental tests to fail at runtime is of questionable utility,
because in almost all cases an equivalent test program can be made to succeed
at runtime instead.

Removing `rfail` support is a small step towards cleaning up compiletest's
incremental test runner, and its overall handling of pass/fail expectations.

There was one existing regression test using `rfail` revisions:
`tests/incremental/issue-80691-bad-eval-cache.rs`. The test code is complex,
and reverting the fix in RUST-83220 does not actually cause the test to fail,
suggesting that it is no longer a useful regression test. This commit therefore
deletes that test.
This fixes a stable-to-stable regression where constants of type
`ManuallyDrop<T>` would not be allowed to be used as a pattern due to
`MaybeDangling<T>` in `ManuallyDrop<T>` not implementing
`StructuralPartialEq`.
Because the things in this module aren't MIR and don't use anything
from `rustc_middle::mir`. Also, modules that use `mono` often don't use
anything else from `rustc_middle::mir`.
…no, r=saethlin

Move `rustc_middle::mir::mono` to `rustc_middle::mono`

Because the things in this module aren't MIR and don't use anything from `rustc_middle::mir`. Also, modules that use `mono` often don't use anything else from `rustc_middle::mir`.

r? @saethlin
…r, r=oli-obk

de-non_const some `Iterator` methods

rust-lang#92476

r? oli-obk

this is essentially just rust-lang#153708 again (which I accidentally closed...), but with the changes to `advance_by` omitted, since that seems to have caused the ICE.
…op-matching, r=JohnTitor

implement `StructuralPartialEq` for `MaybeDangling`

This fixes -- a stable-to-stable regression where constants of type `ManuallyDrop<T>` would not be allowed to be used as a pattern due to `MaybeDangling<T>` in `ManuallyDrop<T>` not implementing `StructuralPartialEq`.

Fixes rust-lang#154890

I'm sorry, @theemathas, I forgot to address your [comment](rust-lang#149614 (comment)) 😭
…s, r=RalfJung

Slightly refactor mplace<->ptr conversions

split off of rust-lang#154327

r? RalfJung
compiletest: Remove `rfail` support from incremental tests

Incremental revisions beginning with `rfail` would cause the incremental test runner to build the test program, expecting success, and then run the test program, expecting failure.

Expecting incremental tests to fail at runtime is of questionable utility, because in almost all cases an equivalent test program can be made to succeed at runtime instead.

Removing `rfail` support is a small step towards cleaning up compiletest's incremental test runner, and its overall handling of pass/fail expectations.

There was one existing regression test using `rfail` revisions: `tests/incremental/issue-80691-bad-eval-cache.rs`. The test code is complex, and reverting the fix in rust-lang#83220 does not actually cause the test to fail, suggesting that it is no longer a useful regression test. This PR therefore deletes that test.

(An earlier draft of this PR ported the test to run-make, but now it has been removed entirely.)
Update books

## rust-lang/reference

6 commits in 7446bf9697c95d155eef33c6a9d91fbd29a5e359..d2715c07e9dd9839c0c7675ecfa18bec539a6ee9
2026-03-31 18:18:16 UTC to 2026-03-23 21:49:16 UTC

- Guarantee size and alignment of more integer primitives (rust-lang/reference#2205)
- [type layout] usize and isize have the same size and alignment (rust-lang/reference#2200)
- Update reference for attribute order changes (rust-lang/reference#2213)
- Fix note for non_exhaustive enum read (rust-lang/reference#2211)
- Update link_name duplicates note (rust-lang/reference#2216)
- Note scoping differences between `*x` and `*x.deref()` , and `a[b]` and `*a.index(b)` (rust-lang/reference#2073)

## rust-lang/rust-by-example

8 commits in 5383db524711c0c9c43c3ca9e5e706089672ed6a..b31e3b8da01eeba0460f86a52a55af82709fadf5
2026-04-01 11:59:18 UTC to 2026-03-30 12:17:12 UTC

- fix: correct into_iter() example to compile properly (rust-lang/rust-by-example#2001)
- fix: correct destruction order comments in Drop TempFile example (rust-lang/rust-by-example#2002)
- fix: replace confusing 'module' with 'item' in formatted print docs (rust-lang/rust-by-example#2003)
- fix: clarify misleading 'Error' comment in print_display example (rust-lang/rust-by-example#2004)
- fix: clarify comment about tuple struct field access in testcase_list (rust-lang/rust-by-example#2005)
- fix: correct iter/into_iter type comments in iter_find example (rust-lang/rust-by-example#2006)
- fix: replace year-to-days conversion with miles-to-km in newtype example (rust-lang/rust-by-example#2007)
- Add a pub use example (rust-lang/rust-by-example#2000)
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Apr 6, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustc-dev-guide Area: rustc-dev-guide 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) 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 Apr 6, 2026
@jhpratt
Copy link
Copy Markdown
Member Author

jhpratt commented Apr 6, 2026

@bors r+ rollup=never p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Apr 6, 2026

📌 Commit a2b6e9a has been approved by jhpratt

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 Apr 6, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors bot added the merged-by-bors This PR was explicitly merged by bors. label Apr 7, 2026
@rust-bors rust-bors bot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Apr 7, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Apr 7, 2026

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 8m 27s
Pushing 49b6ac0 to main...

@rust-bors rust-bors bot merged commit 49b6ac0 into rust-lang:main Apr 7, 2026
12 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Apr 7, 2026
@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#154627 Move rustc_middle::mir::mono to rustc_middle::mono cff133ee2a8183dbcc4e06d9edc95e9cc36c0033 (link)
#154729 de-non_const some Iterator methods e9d825f8588b4c1d2779d560ee10894d1ff89bb7 (link)
#154751 compiletest: Remove rfail support from incremental tests d5d780d48c6444b2cb3c7938a4f5f1977465a197 (link)
#154891 implement StructuralPartialEq for MaybeDangling 2d2475f2468735d536665bbc39f9e026660e7448 (link)
#154894 Slightly refactor mplace<->ptr conversions a49290d85aa838721465104a2cc54b4e7620f4d2 (link)
#154901 Update books 9bac7b26d3c66774aceae71cd0b0e8d1b18b2c46 (link)

previous master: bcded33165

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

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 bcded33 (parent) -> 49b6ac0 (this PR)

Test differences

Show 607 test diffs

Stage 1

  • [incremental] tests/incremental/issue-80691-bad-eval-cache.rs: pass -> [missing] (J0)
  • [ui] tests/ui/consts/manually_drop_structural_eq.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/consts/manually_drop_structural_eq.rs: [missing] -> pass (J1)
  • [incremental] tests/incremental/issue-80691-bad-eval-cache.rs: ignore (gcc backend is marked as ignore) -> [missing] (J2)
  • [incremental] tests/incremental/issue-80691-bad-eval-cache.rs: pass -> [missing] (J3)

Additionally, 602 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 49b6ac01d6f4c3da812039ae846407a20961aa4c --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-msvc: 2h -> 1h 34m (-21.8%)
  2. x86_64-msvc-ext2: 1h 47m -> 1h 57m (+10.1%)
  3. dist-aarch64-apple: 2h 3m -> 1h 52m (-9.0%)
  4. x86_64-msvc-ext1: 2h 15m -> 2h 5m (-7.6%)
  5. dist-i686-msvc: 2h 20m -> 2h 10m (-7.4%)
  6. dist-x86_64-freebsd: 1h 25m -> 1h 31m (+7.3%)
  7. x86_64-gnu-distcheck: 2h 10m -> 2h 19m (+6.8%)
  8. dist-aarch64-llvm-mingw: 1h 39m -> 1h 32m (-6.6%)
  9. x86_64-rust-for-linux: 50m 53s -> 47m 36s (-6.4%)
  10. pr-check-1: 33m -> 30m 56s (-6.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
Copy Markdown
Collaborator

Finished benchmarking commit (49b6ac0): 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 -7.0%, secondary 0.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)
1.8% [0.7%, 2.3%] 3
Improvements ✅
(primary)
-7.0% [-9.0%, -5.0%] 2
Improvements ✅
(secondary)
-4.3% [-4.3%, -4.3%] 1
All ❌✅ (primary) -7.0% [-9.0%, -5.0%] 2

Cycles

Results (primary 2.4%, secondary -0.3%)

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

mean range count
Regressions ❌
(primary)
2.4% [2.4%, 2.4%] 1
Regressions ❌
(secondary)
3.6% [3.6%, 3.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.2% [-4.2%, -4.2%] 1
All ❌✅ (primary) 2.4% [2.4%, 2.4%] 1

Binary size

Results (primary -0.1%, 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.1% [-0.2%, -0.0%] 57
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.0%] 24
All ❌✅ (primary) -0.1% [-0.2%, -0.0%] 57

Bootstrap: 486.041s -> 487.434s (0.29%)
Artifact size: 395.29 MiB -> 395.10 MiB (-0.05%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustc-dev-guide Area: rustc-dev-guide 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 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants