Skip to content

Rollup of 6 pull requests#159536

Merged
rust-bors[bot] merged 40 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-6tQUfUp
Jul 19, 2026
Merged

Rollup of 6 pull requests#159536
rust-bors[bot] merged 40 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-6tQUfUp

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

RalfJung and others added 30 commits June 27, 2026 19:09
The `is::`, `cs::`, and `ls::` prefixes were originally used to clearly
distinguish helper intrinsics from different namespaces at call sites.

However, due to limitations in Rust macro expansion, `prefix::simd_xxx`
cannot always be used. Some macro expansions only accept an identifier,
causing errors such as:

```
  ($ft:literal, $name:ident, $op:path, $oty:ty, $ity:ident) => {
      let r: $ity = $op::<IMM, _>(a);
                       ^^ expected one of `.`, `;`, `?`, `else`, or an operator
```

Instead of relying on namespace prefixes, rename the LoongArch-specific
`simd_xxx` helpers to `simd_ext_xxx` and remove the `is::`, `cs::`, and
`ls::` prefixes from macro invocations. This preserves the distinction
between helper intrinsics while avoiding the macro expansion limitation.
loongarch: Rename SIMD helper intrinsics to avoid macro path issues
Port stdarch-gen-loongarch to stdarch-gen-common harness
document differences from pure hardware behavior
loongarch: Use `intrinsics::simd` for vldi
This function hints at an early commitment to coroutine memory layout.
We should not give promises on how upvars are allocated.

Signed-off-by: Xiangfei Ding <dingxiangfei2009@protonmail.ch>
This updates the rust-version file to fcbe791.
loongarch: Use `intrinsics::simd` for vbs{l,r}l
fmease and others added 8 commits July 18, 2026 18:42
…, r=folkertdev

stdarch subtree update

Subtree update of `stdarch` to rust-lang/stdarch@50afa9f.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost
…ulacrum

Simplify the unwind crate

Use cfg_select! and unify type definitions.
…s, r=cjgillot

Stop using prefix_tys

*This is a member of a patch series to replace rust-lang#135527.*

This function hints at an early commitment to coroutine memory layout. We should not give promises on how upvars are allocated.
…y, r=Mark-Simulacrum

triagebot: cc miri on any special-casing of miri in the standard library

---

Blocked until rust-lang/triagebot#2462 is merged and deployed.
…ros, r=mejrs

Apply `#[diagnostic::opaque]` to macros expanding to built-in syntax

For context, thin wrapper macros expanding to built-in syntax `builtin # SYNTAX(…)` (internal feature `builtin_syntax`) is an alternative to built-in macros (`#[rustc_builtin_macro]`) for introducing new syntax constructs that takes slightly less code to implement in the compiler (since one doesn't need to write boiler-plate expanders, see RUST-122806 for example).

However, one disadvantage of that approach is the fact that the thin wrapper macro is a normal macro and is thus considered "interesting" wrt. macro backtraces. The fact that it expands to `builtin # SYNTAX(…)` should be considered an implementation detail and thus these macros should be considered opaque.

I've applied `#[diagnostic::opaque]` (rust-lang#158608) to all of these macros which successfully suppresses diagnostic notes of the form `` this error originates in the macro `SYNTAX` (…) ``. Well, it doesn't actually omit the expansion from the macro backtrace when `-Zmacro-backtrace` is passed which was surprising but seems intentional looking at the linked PR. Still, this is better than nothing.

r? @mejrs
… r=clarfonthey

implement `const_binary_search`

tracking issue: rust-lang#159532

This makes unstably `const` the following public api:
`core::slice::binary_search`
`core::slice::binary_search_by`
`core::slice::binary_search_by_key`
`core::slice::partition_point`

Happy to make a tracking issue if these are acceptable.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 18, 2026
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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 Jul 18, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

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

@rust-bors

rust-bors Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 004392e 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 Jul 18, 2026
@rust-bors

This comment has been minimized.

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


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

This comment has been minimized.

@rust-bors

rust-bors Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 4583430 (45834306577494c30bfec5b8d7f690886c9293da)
Base parent: eff8269 (eff8269f797067c30555e77f160ec84c0ed15cd9)

@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 Jul 19, 2026
@rust-bors

rust-bors Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 15m 51s
Pushing c904ba3 to main...

@rust-bors
rust-bors Bot merged commit c904ba3 into rust-lang:main Jul 19, 2026
15 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Jul 19, 2026
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#159517 stdarch subtree update 3b18f49781f8809b720451159949c1a9ea0735cf (link)
#159010 Simplify the unwind crate ecf027fbf5ced43c99a877416590e76943577034 (link)
#156650 Stop using prefix_tys 7d150f6d3f4be220a8718eadd9941d9f0f485f12 (link)
#159152 triagebot: cc miri on any special-casing of miri in the sta… 8cce2cfc703c4b7afd704b7223c15b26278b5ef1 (link)
#159522 Apply #[diagnostic::opaque] to macros expanding to built-… 279710eaff0d379d06327f10fd533fd515b8a7b1 (link)
#159528 implement const_binary_search a87f5ebf061518e623b3ddbbec06ed60c2781726 (link)

previous master: eff8269f79

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 eff8269 (parent) -> c904ba3 (this PR)

Test differences

Show 311 test diffs

311 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 c904ba32e22c9d6fd31140b4283c5cc6c6b2fb5c --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-gcc: 52m 46s -> 1h 13m (+38.7%)
  2. dist-i686-msvc: 2h 7m -> 1h 18m (-38.5%)
  3. i686-msvc-2: 1h 32m -> 2h 8m (+38.4%)
  4. x86_64-mingw-2: 2h 41m -> 1h 45m (-34.6%)
  5. dist-ohos-x86_64: 59m 59s -> 1h 19m (+32.9%)
  6. i686-gnu-2: 1h 36m -> 1h 8m (-28.7%)
  7. i686-msvc-1: 2h 19m -> 2h 56m (+26.8%)
  8. dist-aarch64-apple: 1h 28m -> 1h 49m (+24.0%)
  9. dist-x86_64-mingw: 2h 37m -> 2h 1m (-22.6%)
  10. x86_64-gnu-llvm-21-3: 1h 52m -> 1h 27m (-22.5%)
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 (c904ba3): 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)

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

Cycles

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

Binary size

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

Bootstrap: 489.126s -> 486.808s (-0.47%)
Artifact size: 389.52 MiB -> 389.45 MiB (-0.02%)

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

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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.