Skip to content

Comments

Rollup of 6 pull requests#152934

Merged
rust-bors[bot] merged 14 commits intorust-lang:mainfrom
matthiaskrgr:rollup-lcy7ROk
Feb 21, 2026
Merged

Rollup of 6 pull requests#152934
rust-bors[bot] merged 14 commits intorust-lang:mainfrom
matthiaskrgr:rollup-lcy7ROk

Conversation

@matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost

Create a similar rollup

GrigorenkoPV and others added 14 commits January 24, 2026 21:32
Previously, `self.props.compile_flags.windows(2)` would return an empty
iterator in the case where `self.props.compile_flags` was 1 or 0 length.

This created incorrectness where tests like
`tests/mir-opt/pre-codegen/copy_and_clone.rs` would pass when they should fail.
Same as 147495, just keeping it up-to-date.
…r=mati865

Tighten the `!range` bounds on alignments in vtables

Right now we're only telling LLVM that they're non-zero, but alignments must be powers of two so can't be more than `isize::MAX+1`.  And we actually never emit anything beyond LLVM's limit of 2²⁹, so outside of 16-bit targets the limit is that.

(Pulled out from rust-lang#152867 which is starting to have too much in it.)
… r=jhpratt

Stabilize `str_as_str`

- Tracking issue: rust-lang#130366
- Needs FCP
- `ByteStr` methods remain gated behind `bstr` feature gate (rust-lang#134915)

Closes rust-lang#130366
Remove two more flaky assertions from `oneshot` tests

These elapsed-time-upper-bound assertions are inherently flaky in CI, because CI runners will sometimes starve individual threads for a surprisingly long time, so the assertions can fail even if nothing went wrong.

Similar changes for other flaky `oneshot` tests:
- rust-lang#152145
- rust-lang#152648

Example flaky failure:
- rust-lang#152747 (comment)
…al-sv-init, r=mati865

Error on attempt to construct scalable vector type

If you attempt to construct a scalable vector type rust will ICE.

E.g.:
```rust
#[rustc_scalable_vector(4)]
#[allow(non_camel_case_types)]
struct svint32_t(i32);
fn main() {
    let foo = svint32_t(1);
    // This will ICE
}
```

This PR adds a check that will emit an error if you attempt to use a SV constructor and a test to ensure it works.
…on-flag-check, r=clubby789,jieyouxu

Improve runtest revision redundant cfg check

While attempting to ingest rust-lang#148034 via ferrocene/ferrocene#2172 we noticed a test failure, as we add some `compile_flags` to tests.

We saw a failure looking like this:

```
Testing stage1 with compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu)

running 2 tests
2026-02-20T20:21:28.846102Z ERROR compiletest::runtest: redundant cfg argument `copy` is already created by the revision

[mir-opt] tests/mir-opt/pre-codegen/copy_and_clone.rs#COPY ... F
.
```

While my Rust checkout passed:

```
Testing stage1 with compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu)

running 2 tests
..

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 381 filtered out; finished in 107.10ms
```

This caused me to add some debugging statements.

Ferrocene:

```
2026-02-20T21:05:39.808427Z ERROR compiletest::runtest: "copy": does ["--edition=2015", "--cfg=copy"] contain `"--cfg=copy"` or `["--cfg", "copy"]`? true
2026-02-20T21:05:39.808427Z ERROR compiletest::runtest: "clone": does ["--edition=2015"] contain `"--cfg=clone"` or `["--cfg", "clone"]`? false
2026-02-20T21:05:39.808435Z ERROR compiletest::runtest: redundant cfg argument `copy` is already created by the revision
```

Rust:

```
2026-02-20T21:04:18.493158Z ERROR compiletest::runtest: "copy": does ["--cfg=copy"] contain `"--cfg=copy"` or `["--cfg", "copy"]`? false
2026-02-20T21:04:18.493158Z ERROR compiletest::runtest: "clone": does [] contain `"--cfg=clone"` or `["--cfg", "clone"]`? false
```

I noticed while reviewing the related functionality that there is a call to `.windows(2)` in the relevant check for redundant cfgs:

https://github.com/rust-lang/rust/blob/0376d43d443cba463a0b6a6ec9140ea17d7b7130/src/tools/compiletest/src/runtest.rs#L507-L511

Noting:

https://github.com/rust-lang/rust/blob/0376d43d443cba463a0b6a6ec9140ea17d7b7130/library/core/src/slice/mod.rs#L1064-L1066

Because of this, the revision check was getting an empty iterator when `self.props.compile_flags` was length 0 or 1.

This fix adjusts the check to handle such cases.

I went ahead and fixed the relevant test (4b3cd9b) that was impacted by this. I do not suspect there are others, at least within the scope that Ferrocene tests, as we have not previously seen this failure.
…-ld, r=jieyouxu

Update wasm-component-ld

Same as rust-lang#147495, just keeping it up-to-date.
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Feb 21, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner 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 Feb 21, 2026
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 21, 2026

📌 Commit cc0b9d5 has been approved by matthiaskrgr

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 Feb 21, 2026
@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Feb 21, 2026
Rollup of 6 pull requests

Successful merges:

 - #152929 (Tighten the `!range` bounds on alignments in vtables)
 - #151603 (Stabilize `str_as_str`)
 - #152878 (Remove two more flaky assertions from `oneshot` tests)
 - #152915 (Error on attempt to construct scalable vector type)
 - #152925 (Improve runtest revision redundant cfg check)
 - #152928 (Update wasm-component-ld)
@rust-bors rust-bors bot 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 Feb 21, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 21, 2026

💥 Test timed out after 21600s

@matthiaskrgr
Copy link
Member Author

@bors retry

@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 Feb 21, 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 Feb 21, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 21, 2026

☀️ Test successful - CI
Approved by: matthiaskrgr
Duration: 3h 10m 44s
Pushing 5fb2ff8 to main...

@rust-bors rust-bors bot merged commit 5fb2ff8 into rust-lang:main Feb 21, 2026
12 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Feb 21, 2026
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#151603 Stabilize str_as_str 8172a9faf0c7fcef6e45b4e4e55d265d9b8efba8 (link)
#152878 Remove two more flaky assertions from oneshot tests 064fed2f90e628c31fe77f4ae7dfe27dd42c8c62 (link)
#152915 Error on attempt to construct scalable vector type 7989f3346a335416d0404e1f578edd3803d9897f (link)
#152925 Improve runtest revision redundant cfg check e48c1088e4f5f9e0f8b53670a8c6c05cbe12254c (link)
#152928 Update wasm-component-ld 02ad900018b400c19939a33925d1b175252d05e1 (link)
#152929 Tighten the !range bounds on alignments in vtables b21f29fd82c823ce9b0881786c02f3bafe6b6696 (link)

previous master: 99246f4093

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
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 99246f4 (parent) -> 5fb2ff8 (this PR)

Test differences

Show 88 test diffs

Stage 1

  • [ui] tests/ui/scalable-vectors/illegal_init.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/scalable-vectors/illegal_init.rs: [missing] -> pass (J1)

Additionally, 86 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 5fb2ff8611e5a4af4dc85977cfdecfbf3ffa6ade --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. x86_64-gnu-debug: 1h 44m -> 2h 1m (+16.2%)
  2. dist-apple-various: 1h 43m -> 1h 57m (+13.3%)
  3. dist-aarch64-msvc: 1h 37m -> 1h 48m (+11.3%)
  4. dist-x86_64-llvm-mingw: 1h 43m -> 1h 53m (+9.9%)
  5. x86_64-msvc-ext1: 2h 4m -> 2h 17m (+9.8%)
  6. dist-x86_64-apple: 1h 51m -> 1h 41m (-9.1%)
  7. dist-aarch64-apple: 2h 2m -> 1h 52m (-7.9%)
  8. aarch64-apple: 3h 20m -> 3h 4m (-7.8%)
  9. dist-riscv64-linux: 1h 26m -> 1h 20m (-7.5%)
  10. dist-aarch64-llvm-mingw: 1h 46m -> 1h 38m (-7.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.

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-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.

9 participants