Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Rollup of 11 pull requests - #152602

Merged
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW
Feb 14, 2026
Merged

Rollup of 11 pull requests#152602
rust-bors[bot] merged 33 commits into
rust-lang:mainfrom
jhpratt:rollup-uaxGseW

Conversation

@jhpratt

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lolbinarycatand others added 30 commits January 19, 2026 17:39
This has two advantages:
* removes a bunch of @ts-expect-error
* typos of var names will cause type errors instead of runtime errors
this allows TypeScript to understand the relation between isTrait
and traitName's type, getting rid of a type error.
88b4646 made builtin functions hidden,
but it doesn't apply to naked functions, which are generated through a
different code path.
If late lifetime resolution fails for whatever reason, forward to RBV
the guarantee that an error was emitted - thereby eliminating the need
for a "hack" to suppress subsequent/superfluous error diagnostics.
It avoids round-tripping through `Location`s if you're working with
`Point`s already.
…saethlin,bjorn3
Set hidden visibility on naked functions in compiler-builtins
88b4646 made builtin functions hidden, but it doesn't apply to naked functions, which are generated through a different code path.
This was discovered in rust-lang#151486 where aarch64 outline atomics showed up in shared objects, overriding the symbols from compiler-rt.
…table-first, r=notriddle
rustdoc: sort stable items first
Finally tackling this again now that the search system refactor is done. The tests and the general approach were taken from the original PR.
… r=fmease
Feed `ErrorGuaranteed` from late lifetime resolution errors through to bound variable resolution
If late lifetime resolution fails for whatever reason, forward to RBV the guarantee that an error was emitted - thereby eliminating the need for a "hack" to suppress subsequent/superfluous error diagnostics.
Fixesrust-lang#152014
r? fmease
…unds, r=estebank
improve associated-type suggestions from bounds
Should address invalid suggestions I could come up with, but the suggestion is too hand-crafted and invalid patterns may exist.
r? @estebankFixrust-lang#73321
move `escape_symbol_name` to `cg_ssa`
followup of rust-lang#151955
r? @bjorn3
…richton
c-variadic: implement `va_arg` for `wasm64`
tracking issue: rust-lang#44930
A LLVM maintainer of the wasm backend confirmed that the behavior on wasm64 is intented: the slot size is 4 on both wasm32 and wasm64. llvm/llvm-project#173580 (comment)
r? workingjubilee
cc @alexcrichton as target maintainer
…=GuillaumeGomez
rustdoc: more js cleanup
Continuing the effort of removing `@ts-expect-error` from the codebase wherever possible, this time focusing on `main.js`. Found some oddities with `register_type_impls`, fixed most of them, but the one that I couldn't figure out is what's going on with `sidebarTraitList`. It's queried, then if there are any trait imps, unconditionally overwritten, then latter code assumes that one of these two things has initialized it, but it's not obvious why this would be the case, or if there's a reason this wasn't done in a more straightforwards way.
r? @GuillaumeGomez
…zelmann
Port `#[lang]` and `#[panic_handler]` to the new attribute parsers
For rust-lang#131229 (comment)
r? @jdonszelmann
A couple of tiny polonius things
Here's a couple of tiny things I had ready to go @jackh726
- a tiny cleanup to avoid round-tripping through `Location`s to check for liveness, since we're already working with points
- while I was there, I fixed the doc which wasn't showing up properly (maybe a rustdoc or bootstrap bug when we build locally or during dist, either way, both don't show up correctly linked most of the time) for `PointIndex`es.
- and in the second commit slightly expand test coverage with [an example](https://internals.rust-lang.org/t/get-mut-map-back-from-entry-api/24003) that would have needed stdlib changes (cc author @Darksonn for visibility here)
More soon.
r? @jackh726
@rust-borsrust-borsBot added the rollup A PR which is a rollup label Feb 14, 2026
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-js Area: Rustdoc's JS front-end A-rustdoc-search Area: Rustdoc's search feature 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Feb 14, 2026
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 4bcbf62 has been approved by jhpratt

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

This comment has been minimized.

@rust-borsrust-borsBot 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 14, 2026
@rust-bors

rust-borsBot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 14m 36s
Pushing 3f808f2 to main...

@rust-bors
rust-borsBot merged commit 3f808f2 into rust-lang:mainFeb 14, 2026
12 checks passed
@rustbotrustbot added this to the 1.95.0 milestone Feb 14, 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 29fa07e (parent) -> 3f808f2 (this PR)

Test differences

Show 44 test diffs

Stage 1

  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J1)
  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J1)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/associated-types/suggest-assoc-type-from-bounds.rs: [missing] -> pass (J0)
  • [ui] tests/ui/layout/rigid-alias-due-to-broken-impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/object-lifetime/undeclared-object-lifetime.rs: [missing] -> pass (J0)
  • [rustdoc-js] tests/rustdoc-js/sort-stability.rs: [missing] -> pass (J2)

Additionally, 36 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 3f808f29e6f5efa56b6e2270e8715a38dfc34b4d --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-apple: 1h 47m -> 2h 39m (+48.7%)
  2. dist-apple-various: 2h 11m -> 1h 39m (-23.7%)
  3. i686-gnu-2: 1h 29m -> 1h 43m (+16.2%)
  4. dist-x86_64-apple: 2h 35m -> 2h 12m (-14.5%)
  5. arm-android: 1h 37m -> 1h 47m (+10.4%)
  6. i686-gnu-1: 2h 8m -> 2h 21m (+9.8%)
  7. x86_64-gnu-aux: 2h 9m -> 2h 21m (+9.7%)
  8. x86_64-gnu-gcc: 1h 2m -> 1h 8m (+8.7%)
  9. dist-riscv64-linux: 1h 21m -> 1h 28m (+8.3%)
  10. aarch64-apple: 3h 22m -> 3h 6m (-7.8%)
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

📌 Perf builds for each rolled up PR:

PR#MessagePerf Build Sha
#149460rustdoc: sort stable items firste4020e01a32e1fff5c2c4e72c0cc8c56105424a7 (link)
#151386rustdoc: more js cleanup8ca098b56bb70d248afa3ce5947326b593098264 (link)
#151998Set hidden visibility on naked functions in compiler-builti…c5495e9c6a5b4763e5b07bef9ead811abdcafc4b (link)
#152076Feed ErrorGuaranteed from late lifetime resolution errors…6354b4f6c60b309d53dfb0047553e290ec4c3dc1 (link)
#152471improve associated-type suggestions from bounds9a1055e934db0c13dbd8585b4b9e48120825cb1c (link)
#152567nix-dev-shell: fix a typobe6a49a57c76fba9c75a4cd9e4cd3907f2f0e4d8 (link)
#152568Port #[lang] and #[panic_handler] to the new attribute …956c05da3c1aa068a7ed8b3941759674f42b0f77 (link)
#152573move escape_symbol_name to cg_ssa2485bee417cd3e7e450f0adbcfec4c449d6201a8 (link)
#152575layout_of unexpected rigid alias delayed buge41bd178e262a5c7bd920ce72f67504c5f77059c (link)
#152587A couple of tiny polonius thingsc3048c1a8ba7bc081158ef234ea381a3321d3b54 (link)
#152594c-variadic: implement va_arg for wasm64f8311655faf3560ef33d501a40395e0cd2a690e8 (link)

previous master: 29fa07e3db

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

@jhpratt
jhpratt deleted the rollup-uaxGseW branch February 14, 2026 10:05
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (3f808f2): 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 0.3%, secondary -2.4%)

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

meanrangecount
Regressions ❌
(primary)
4.8%[3.0%, 7.4%]3
Regressions ❌
(secondary)
1.5%[1.2%, 1.8%]2
Improvements ✅
(primary)
-2.4%[-3.2%, -1.5%]5
Improvements ✅
(secondary)
-3.7%[-6.8%, -1.8%]6
All ❌✅ (primary)0.3%[-3.2%, 7.4%]8

Cycles

Results (primary 2.7%, secondary -4.7%)

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

meanrangecount
Regressions ❌
(primary)
2.7%[2.7%, 2.7%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.7%[-4.7%, -4.7%]1
All ❌✅ (primary)2.7%[2.7%, 2.7%]1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 480.714s -> 481.368s (0.14%)
Artifact size: 398.10 MiB -> 398.20 MiB (0.02%)

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

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-rustdoc-jsArea: Rustdoc's JS front-endA-rustdoc-searchArea: Rustdoc's search featuremerged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

13 participants

@jhpratt@rust-timer@rustbot@lolbinarycat@zmodem@JohnTitor@makai410@usamoi@lcnr@JonathanBrouwer@eggyal@lqd@folkertdev