Skip to content

Rollup of 6 pull requests - #164199

Merged
rust-bors[bot] merged 16 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-eJso6IU
Oct 12, 2026
Merged

rust-bors[bot] merged 16 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-eJso6IU

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

adamgemmell and others added 16 commits October 6, 2026 14:50
This warning shows up in logs when UI tests fail to build minicore.
Co-authored-by: Tropical <42101043+tropicaaal@users.noreply.github.com>
It's a bit silly to explicitly refer to that type without offering an
easy way to jump to its definition.
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
…cripts) - similar to other OS's, and since Haiku's functionlaity is closer to Windows, treated it the same in file_lock_double. This is a first step in getting full Rust support on Haiku. While a LLM helped identify the changes, I understand this diff, have tested it on a running version of Haiku OS (beta).
…egisters, r=davidtwco

aarch64: Use neon registers for ABI on targets that require `neon"

This PR is the aarch64 version of rust-lang#161583.

When a target requires the neon feature (which all `aarch64[_be]` hardfloat targets do), pass any vectors that fit (all sized vectors on aarch64 should do) in those registers.

We also make disable the `neon` target feature a hard error since doing so is much more likely to result in miscompilations as a result of this change, as the previous patch did for SSE.

I've also check the stdarch CI for aarch64-unknown-linux-gnu and aarch64_be-linux-gnu locally with no issues.
Revise the VEXos synchronization model

This PR fixes some compilation errors in `std::sync` under VEXos by switching to a simple spinlock-based model that properly handles the "multithreading" provided by this platform through user interrupt handlers and documenting exactly how and how not `std::sync` may be used on this target. Spinlocks are used because they are very simple and the OS on this target is not aware of threading by default and has no documented builtin futex or mutex API we can use. I don't expect this platform to have more than 1 thread blocking on access for a mutex at once (since there is only 1 thread that's allowed to block per the updated target docs).

Previously Rust programs running on VEXos were only allowed a single execution context and user ISRs were not allowed to interact with std code whatsoever. After these changes, ISRs are allowed to partially interact with std and `std::sync` can be used to synchronize shared resources between the main thread and interrupts.

Using stack-switching schedulers on this platform remains unsound; this is now written explicitly in the target documentation.
…e-closures, r=oli-obk

reject non-async coroutine closures as async callables

fixes rust-lang/trait-system-refactor-initiative#302

reject non-async coroutine closures in async callable extraction
`AliasConstKind`: add intra-doc links to `AliasTyKind`

It's a bit silly to explicitly refer to that type without offering an easy way to jump to its definition.

r? @khyperia
…r=joboet

Adding File Lock Support for Haiku

Added haiku as a target_os in file lock functions (and related test scripts) - similar to other OS's, and since Haiku's functionlaity is closer to Windows, treated it the same in file_lock_double.  This is a first step in getting full Rust support on Haiku.  While a LLM helped identify the changes, I understand this diff, have tested it on a running version of Haiku OS (beta). r? joboet as to additional review.
…plett

std: add doctest to parent_id

This operation is currently entirely untested. (I know because it shows up nowhere in the test failures when running the test suite in Miri, and Miri does not support this operation.)

So let's add a test.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 12, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Oct 12, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu,test-x86_64-gnu-llvm-22-3

@rust-bors

rust-bors Bot commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 56f02d1 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 Oct 12, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 12, 2026
Rollup of 6 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
try-job: test-x86_64-gnu-llvm-22-3
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: d61b64d (d61b64de5c2993e0d2aebf0fcccf0b48815b7268)
Base parent: b542750 (b5427502dab50cb27d9327d2893ddf2337dd4388)

@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 Oct 12, 2026
@rust-bors

rust-bors Bot commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 1m 46s
Pushing 34ca1df to main...

@rust-bors
rust-bors Bot merged commit 34ca1df into rust-lang:main Oct 12, 2026
16 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 12, 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 fb5f32b (parent) -> 34ca1df (this PR)

Test differences

Show 25 test diffs

Stage 1

  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-transmute-array.rs#aarch64: [missing] -> ignore (only executed when the architecture is aarch64) (J2)
  • [codegen] tests/codegen-llvm/simd/splat.rs#aarch64: [missing] -> ignore (only executed when the architecture is aarch64) (J2)

Stage 2

  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-transmute-array.rs#aarch64: [missing] -> ignore (only executed when the architecture is aarch64) (J0)
  • [codegen] tests/codegen-llvm/simd/splat.rs#aarch64: [missing] -> ignore (only executed when the architecture is aarch64) (J0)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-transmute-array.rs#aarch64: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-transmute-array.rs#by-ref: pass -> ignore (ignored when the architecture is aarch64) (J1)
  • [codegen] tests/codegen-llvm/simd/splat.rs#aarch64: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/simd/splat.rs#by-ref: pass -> ignore (ignored when the architecture is aarch64) (J1)

Additionally, 17 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 34ca1dfc0e425a261707a6491a4eb45d58a97d38 --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-22: 32m 35s -> 57m 26s (+76.3%)
  2. test-pr-check-1: 22m 26s -> 38m 49s (+73.0%)
  3. test-x86_64-gnu-stdlib-semver-check: 10m 15s -> 17m 5s (+66.7%)
  4. test-x86_64-gnu-next-trait-solver-polonius: 38m 55s -> 1h 3m (+63.9%)
  5. test-x86_64-gnu-gcc-core-tests: 11m 24s -> 18m 37s (+63.3%)
  6. test-x86_64-gnu-distcheck: 1h 34m -> 2h 26m (+54.6%)
  7. test-x86_64-msvc-ext2: 1h 8m -> 1h 44m (+53.4%)
  8. dist-various-2: 35m 35s -> 52m 42s (+48.1%)
  9. dist-x86_64-msvc: 2h 5m -> 3h (+43.5%)
  10. test-x86_64-msvc-ext1: 1h 43m -> 2h 27m (+42.9%)
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 (34ca1df): 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 (primary 1.7%, secondary 2.2%)

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

mean range count
Regressions ❌
(primary)
4.5% [4.5%, 4.5%] 1
Regressions ❌
(secondary)
4.4% [4.2%, 4.7%] 2
Improvements ✅
(primary)
-1.2% [-1.2%, -1.2%] 1
Improvements ✅
(secondary)
-2.2% [-2.2%, -2.2%] 1
All ❌✅ (primary) 1.7% [-1.2%, 4.5%] 2

Cycles

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

Binary size

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

Bootstrap: 490.047s -> 489.314s (-0.15%)
Artifact size: 406.77 MiB -> 406.66 MiB (-0.03%)

@rust-bors

rust-bors Bot commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#163824 aarch64: Use neon registers for ABI on targets that require… 01461b2868024d1f1a4fa8ffc5c79642cd64a50c
(link)
#162257 Revise the VEXos synchronization model 7a791510a518f9f19acdf653e109913a80902610
(link)
#163832 reject non-async coroutine closures as async callables 1bd774407f5f5a0dbb17477db53bf17cb2a138d9
(link)
#163990 AliasConstKind: add intra-doc links to AliasTyKind b3cc8fc7876255b022c825a5779db3d1133210f1
(link)
#164031 Adding File Lock Support for Haiku bffdf017936844f822a8f0ef1af3ca3333401113
(link)
#164151 std: add doctest to parent_id 3ee03906092a27ff67a841cc36ccf489490f3c4d
(link)

parent commit: fb5f32bdbe

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

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. O-unix Operating system: Unix-like 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants