Skip to content

Rollup of 7 pull requests#155634

Merged
rust-bors[bot] merged 20 commits intorust-lang:mainfrom
jhpratt:rollup-lo99oO5
Apr 22, 2026
Merged

Rollup of 7 pull requests#155634
rust-bors[bot] merged 20 commits intorust-lang:mainfrom
jhpratt:rollup-lo99oO5

Conversation

@jhpratt
Copy link
Copy Markdown
Member

@jhpratt jhpratt commented Apr 22, 2026

Successful merges:

r? @ghost

Create a similar rollup

cijiugechu and others added 20 commits April 6, 2026 15:59
This commit performs some minor update within the standard library for
the `wasm32-wasip3` target. This target is a tier 3 target currently due
to the WASIp3 specification not being officially released. This commit
adds a dependency from the standard library on the `wasip3` crate in the
same manner as the `wasip1` and `wasip2` crates that it already depends
on. The use-sites, for randomness and environment variables, are then
updated to handle the wasip2/wasip3 multiplexing.
This is the subset of incremental tests that should continue to use `bpass`
even after `cpass` is supported, because they (presumably) involve codegen.
This is the subset of incremental tests that have a FIXME to consider migrating
to check-pass instead.

That migration is beyond the scope of this PR, but might be attempted later.
Incremental tests that would have used the `check-pass`, `build-pass`, or
`run-pass` directives should instead use a revision name starting with
`cpass`/`bpass`/`rpass` as appropriate.
Forbid `check-pass`/`build-pass`/`run-pass` directives in incremental tests

- Follow-up to rust-lang#155474
---

This PR forbids the use of `//@ check-pass`, `//@ build-pass`, and `//@ run-pass` directives in incremental tests. Tests that would have used those directives should use a revision name beginning with `cpass`/`bpass`/`rpass` instead.

(The `*-fail` directives are already forbidden in incremental tests.)

Existing incremental tests that used the `check-pass` and `build-pass` directives have been migrated. To allow migration of the check-pass tests, this PR also adds support for revision names beginning with `cpass`. No incremental tests were using `run-pass`.

---

Several of the migrated `build-pass` tests have a FIXME indicating that they could potentially be migrated to `check-pass` instead. This PR does not perform that migration.

In the future, I intend to do more cleanup of how compiletest handles pass/fail expectations, but I didn't want to cram too much into one PR.

r? jieyouxu
Add missing `dyn` keyword to `trait_alias` page of the Unstable Book

There seemed to be a small typo in the Rust Unstable Book page for the `trait_alias` feature, where a variable is declared as `&Bar` for a trait `Bar`, rather than `&dyn Bar`.
test cleanups for `ui/derives` and `ui/deriving`

The eventual goal is for `ui/deriving` to be merged into `ui/derives` entirely. This PR focuses on the `issue-*.rs` tests in `deriving` and a few other no-longer-useful tests.
r? @Kivooeo
…ited-conditions, r=oli-obk

Fix ICE for inherited const conditions on const closures

Synchronize `evaluate_host_effect_for_fn_goal` with the behavior of `extract_fn_def_from_const_callable` in new solver.

Closes rust-lang#153861 .
std: Update support for `wasm32-wasip3`

This commit performs some minor update within the standard library for the `wasm32-wasip3` target. This target is a tier 3 target currently due to the WASIp3 specification not being officially released. This commit adds a dependency from the standard library on the `wasip3` crate in the same manner as the `wasip1` and `wasip2` crates that it already depends on. The use-sites, for randomness and environment variables, are then updated to handle the wasip2/wasip3 multiplexing.
…r=tgross35

c-variadic: tweak `std` docs

tracking issue: rust-lang#44930

In preparation of a rename of `arg` to `next_arg`

cc @workingjubilee
r? tgross35
…r=dingxiangfei2009

Remove a bunch of unnecessary explicit lifetimes from the ast validator

Noticed while fiddling with error reporting. None of the lifetimes were ever used for anything
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Apr 22, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool 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 22, 2026
@jhpratt
Copy link
Copy Markdown
Member Author

jhpratt commented Apr 22, 2026

@bors r+ rollup=never p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 22, 2026

📌 Commit 6fa2b1d 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 22, 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 Apr 22, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 22, 2026

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 23m 43s
Pushing cf1817b to main...

@rust-bors rust-bors Bot merged commit cf1817b into rust-lang:main Apr 22, 2026
12 checks passed
@rustbot rustbot added this to the 1.97.0 milestone Apr 22, 2026
@jhpratt jhpratt deleted the rollup-lo99oO5 branch April 22, 2026 09:45
@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#154874 Fix ICE for inherited const conditions on const closures ee80fbca3122c588446e6399a4c2c7d21505a659 (link)
#155589 Forbid check-pass/build-pass/run-pass directives in i… b780a2b0ac353ba723e44de3a6b1a142550a347b (link)
#155605 std: Update support for wasm32-wasip3 9e62154fb55069db0b6b0b5746f12aa98bfb81c3 (link)
#155610 Add missing dyn keyword to trait_alias page of the Unst… 3166cbe9cea77253ec898d535f69f6a8431a0e0b (link)
#155613 c-variadic: tweak std docs 2f8ff5a725ebc5bce8183e88bb645eb90bd082ba (link)
#155615 test cleanups for ui/derives and ui/deriving d11d2397e5a4abc4ffa95588fdb6b2fb525461d7 (link)
#155619 Remove a bunch of unnecessary explicit lifetimes from the a… a111821d06b1e24127022366cfb91191d7117160 (link)

previous master: 1bfcb284f7

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

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 1bfcb28 (parent) -> cf1817b (this PR)

Test differences

Show 61 test diffs

Stage 1

  • [ui] tests/ui/derives/clone-include-gat-hrtb.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derive-clone-basic.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derive-eq-check-all-variants.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derive-on-drop-type.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derive-static-str-field.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derive-type-with-reference.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/derive-with-where-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/deriving-bounds.rs: pass -> [missing] (J0)
  • [ui] tests/ui/derives/no-send-sync-derives.rs: [missing] -> pass (J0)
  • [ui] tests/ui/derives/six-hundred-fields.rs: [missing] -> pass (J0)
  • [ui] tests/ui/deriving/deriving-bounds.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-clone-array.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-clone-enum.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-clone-generic-enum.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-clone-generic-struct.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-clone-generic-tuple-struct.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-clone-struct.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/deriving-clone-tuple-struct.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-103157.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-15689-1.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-15689-2.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-18738.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-19358.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-3935.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-58319.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-6341.rs: pass -> [missing] (J0)
  • [ui] tests/ui/deriving/issue-89188-gat-hrtb.rs: pass -> [missing] (J0)
  • [ui] tests/ui/traits/const-traits/const-closure-inherited-const-condition.rs#next: [missing] -> pass (J0)
  • [ui] tests/ui/traits/const-traits/const-closure-inherited-const-condition.rs#old: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/derives/clone-include-gat-hrtb.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/derive-clone-basic.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/derive-eq-check-all-variants.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/derive-on-drop-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/derive-static-str-field.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/derive-type-with-reference.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/derive-with-where-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/deriving-bounds.rs: pass -> [missing] (J1)
  • [ui] tests/ui/derives/no-send-sync-derives.rs: [missing] -> pass (J1)
  • [ui] tests/ui/derives/six-hundred-fields.rs: [missing] -> pass (J1)
  • [ui] tests/ui/deriving/deriving-bounds.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/deriving-clone-array.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/deriving-clone-enum.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/deriving-clone-generic-enum.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/deriving-clone-generic-struct.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/deriving-clone-generic-tuple-struct.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/deriving-clone-struct.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/deriving-clone-tuple-struct.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-103157.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-15689-1.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-15689-2.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-18738.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-19358.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-3935.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-58319.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-6341.rs: pass -> [missing] (J1)
  • [ui] tests/ui/deriving/issue-89188-gat-hrtb.rs: pass -> [missing] (J1)
  • [ui] tests/ui/traits/const-traits/const-closure-inherited-const-condition.rs#next: [missing] -> pass (J1)
  • [ui] tests/ui/traits/const-traits/const-closure-inherited-const-condition.rs#old: [missing] -> pass (J1)

Additionally, 3 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 cf1817bc6ecd2d14ca492247c804bad31948dd56 --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-i686-msvc: 1h 53m -> 2h 33m (+35.8%)
  2. x86_64-msvc-ext1: 1h 43m -> 2h 13m (+28.7%)
  3. x86_64-gnu-llvm-21: 1h 21m -> 1h (-26.3%)
  4. x86_64-gnu-tools: 49m 44s -> 1h 2m (+25.2%)
  5. dist-arm-linux-musl: 1h 19m -> 1h 39m (+24.1%)
  6. armhf-gnu: 1h 34m -> 1h 11m (-23.7%)
  7. dist-x86_64-netbsd: 1h 9m -> 1h 25m (+23.2%)
  8. i686-msvc-1: 3h 5m -> 2h 22m (-23.1%)
  9. dist-loongarch64-musl: 1h 27m -> 1h 47m (+22.9%)
  10. i686-gnu-nopt-1: 1h 50m -> 2h 14m (+22.1%)
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 (cf1817b): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

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

Cycles

Results (secondary 2.0%)

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

Binary size

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

Bootstrap: 491.717s -> 491.458s (-0.05%)
Artifact size: 394.44 MiB -> 394.40 MiB (-0.01%)

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-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool 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.

10 participants