Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Nov 17, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Nitai Sasson and others added 11 commits November 4, 2025 23:51
Stabilize `char_max_len`

Tracking issue: rust-lang#121714

r? t-libs-api

`@rustbot` label +needs-fcp -T-libs +T-libs-api

Closes rust-lang#121714
Fix link in c_longlong documentation

Ran across this mistake when reading [the documentation](https://doc.rust-lang.org/std/ffi/type.c_longlong.html). I went through the other `.md` files in this directory and didn't spot any other errors.

**I did not check the output of this change** - I couldn't figure out how to get `cargo doc` to work and I figured it's not worth the distraction. It can't really go wrong, can it?
Fix query cycle when encounter unevaluated const

Fixes rust-lang/trait-system-refactor-initiative#249

In this PR, the environment is dropped when evaluating const that does not have any generic parameter to fix the query cycle.
move GAT inference prevention hack

The structure of `fn assemble_and_merge_candidates` is quite messy and the differences between `Host` and `NormalizesTo` goals is large enough that we should split them entirely. Intend to change this for rust-lang/trait-system-refactor-initiative#245 by mentoring someone: https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/ask.20for.20help/near/554696331. Think it's still fine to merge this PR without that larger change.

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

r? `@BoxyUwU`
Document the `let this = self;` idiom used in MIR building

In `rustc_mir_build` there are a few `Builder` methods that start with `let this = self;`, so that subsequent code can uniformly refer to the builder as `this`, instead of having to choose between `self` at the top level or `this` when nested in closures that need to borrow the builder.

There is some existing documentation of the idiom in `expr_into_dest`:

https://github.com/rust-lang/rust/blob/69d4d5fc0e4db60272aac85ef27ecccef5764f3a/compiler/rustc_mir_build/src/builder/expr/into.rs#L32-L35

But that documentation is brief and hard to find, especially if one is unaware that such documentation even exists.

---

This PR therefore adds a longer explanation of the `let this = self;` idiom in the module documentation for `rustc_mir_build::builder`, and makes that documentation easier to find by adding a searchable tag (“LET_THIS_SELF”) to the documentation and to each occurrence of the idiom.
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Nov 17, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Nov 17, 2025

📌 Commit 6b8f2c7 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors 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 Nov 17, 2025
@bors
Copy link
Collaborator

bors commented Nov 17, 2025

⌛ Testing commit 6b8f2c7 with merge 0df64c5...

@bors
Copy link
Collaborator

bors commented Nov 17, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 0df64c5 to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 17, 2025
@bors bors merged commit 0df64c5 into rust-lang:main Nov 17, 2025
12 checks passed
@rustbot rustbot added this to the 1.93.0 milestone Nov 17, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#145610 Stabilize char_max_len 6be72624a2e5ba4a9807f3912192d00c916ca94e (link)
#148504 Fix link in c_longlong documentation 2e101adf92a9a634d1f5cba1cef682782bb888ef (link)
#148698 Fix query cycle when encounter unevaluated const e4f389e90cda8edc2eebaed733396b4ff4f0792f (link)
#148865 move GAT inference prevention hack 96e91c4e608dfe670f570956b96cd81a4ad1c055 (link)
#149016 Document the let this = self; idiom used in MIR building 113c7ae0dd976d753824ddded47a0481dcf40dd5 (link)

previous master: 42ebbd2356

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

@github-actions
Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 42ebbd2 (parent) -> 0df64c5 (this PR)

Test differences

Show 40 test diffs

Stage 1

  • [ui] tests/ui/generic-associated-types/gat-with-ambig-args-still-rigid.rs#current: [missing] -> pass (J1)
  • [ui] tests/ui/generic-associated-types/gat-with-ambig-args-still-rigid.rs#next: [missing] -> pass (J1)
  • [ui] tests/ui/traits/next-solver/unevaluated_const_query_cycle.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/generic-associated-types/gat-with-ambig-args-still-rigid.rs#current: [missing] -> pass (J0)
  • [ui] tests/ui/generic-associated-types/gat-with-ambig-args-still-rigid.rs#next: [missing] -> pass (J0)
  • [ui] tests/ui/traits/next-solver/unevaluated_const_query_cycle.rs: [missing] -> pass (J0)

Additionally, 34 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 0df64c57843a9612c68dd78bafa133f5b5d340c4 --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-apple-various: 3756.6s -> 4556.7s (+21.3%)
  2. dist-aarch64-apple: 6507.5s -> 5410.0s (-16.9%)
  3. arm-android: 5420.5s -> 6222.2s (+14.8%)
  4. aarch64-gnu-llvm-20-1: 3353.5s -> 3786.2s (+12.9%)
  5. pr-check-1: 1691.6s -> 1893.8s (+12.0%)
  6. aarch64-apple: 8285.1s -> 9224.3s (+11.3%)
  7. dist-aarch64-msvc: 5910.6s -> 6532.8s (+10.5%)
  8. x86_64-rust-for-linux: 2631.8s -> 2905.2s (+10.4%)
  9. dist-x86_64-apple: 7131.0s -> 7868.1s (+10.3%)
  10. x86_64-gnu-tools: 3621.2s -> 3252.3s (-10.2%)
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
Collaborator

Finished benchmarking commit (0df64c5): 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 1.1%)

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

mean range count
Regressions ❌
(primary)
3.4% [3.4%, 3.4%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.2% [-1.2%, -1.2%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.1% [-1.2%, 3.4%] 2

Cycles

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

Binary size

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

Bootstrap: 475.733s -> 475.971s (0.05%)
Artifact size: 388.74 MiB -> 388.69 MiB (-0.01%)

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

Labels

merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants