Skip to content

Conversation

@matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

ZuseZ4 and others added 24 commits December 22, 2025 14:55
…t args

Detect the `{ident?}` pattern where `?` is immediately followed by `}` and emit
a clearer diagnostic explaining that `:` is required for Debug formatting.
This avoids falling back to a generic “invalid format string” error and adds
a targeted UI test for the case.

Signed-off-by: Usman Akinyemi <[email protected]>
The documentation of `SipHasher` previously linked to a page about
SipHash on https://131002.net, a domain registered to Jean-Philippe
Aumasson, one of the co-authors of the original SipHash paper (alongside
Daniel J Bernstein).

That domain now redirects to another of Mr Aumasson's domains,
https://www.aumasson.jp, but which does not host a similar page
dedicated to SipHash.  Instead, his site links to a GitHub repository
containing a C implementation together with links to the original
research paper.  Mr Bernstein's own site, https://cr.yp.to, only hosts a
copy of the research paper.

Therefore the GitHub repository appears to be the most official and
complete reference to which we can link.
This patch removes one call to `std::mem::take` to save two
`memcpy`s: `JsonRenderer::index` can be quite large as noted
rust-lang#142335. `self.index` can be
passed directly to `types::Crate`. This removal makes `self` immutable.

The private `serialize_and_write` method is moved as a function: the
`self` argument is replaced by `sess: &Session`. This `&Session` was
fetched earlier in `after_krate` in all cases. This change allows to
call `serialize_and_write` after `output_crate` is created, without
having a conflict around the move of `self`: the borrow checker is now
happy.
67ea84d erroneously added this special-case when introducing `DesugaringKind::WhileLoop`.
It had the unintended effect of emitting erroneous diagnostics in certain `while` blocks.
Remove inactive nvptx maintainer

Since I just saw the discussion in [#t-compiler > Starting to enforce Tier 2-to-3 downgrade](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Starting.20to.20enforce.20Tier.202-to-3.20downgrade/with/564788312), and I saw him pinged on PRs or issues. His last active open-source contributions were in early 2022: https://github.com/RDambrosio016 and IIRC he also mentioned that he had moved on.

ping @RDambrosio016 so you can confirm or correct me, if you want to chime in. I also pinged him on Zulip.

cc @kjetilkjeka who is the other maintainer and active on related issues/prs for his target.

I'd leave it open for a while, but
r? @jieyouxu
rustc_parse_format: improve error for missing `:` before `?` in format args

Detect the `{ident?}` pattern where `?` is immediately followed by `}` and emit a clearer diagnostic explaining that `:` is required for Debug formatting. This avoids falling back to a generic “invalid format string” error and adds a targeted UI test for the case.
Fix broken documentation links to SipHash

The documentation of `SipHasher` previously linked to a page about SipHash on https://131002.net, a domain registered to Jean-Philippe Aumasson, one of the co-authors of the original SipHash paper (alongside Daniel J Bernstein).

That domain now redirects to another of Mr Aumasson's domains, https://www.aumasson.jp, but which does not host a similar page dedicated to SipHash.  Instead, his site links to a GitHub repository containing a C implementation together with links to the original research paper.  Mr Bernstein's own site, https://cr.yp.to, only hosts a copy of the research paper.

Therefore the GitHub repository appears to be the most official and complete reference to which we can link.

Fixes rust-lang#150806
r? reddevilmidzy
…GuillaumeGomez

rustdoc_json: Remove one call to `std::mem::take` in `after_krate`

This patch removes one call to `std::mem::take` to save two `memcpy`s: `JsonRenderer::index` can be quite large as noted rust-lang#142335. `self.index` can be passed directly to `types::Crate`. This removal makes `self` immutable.

The private `serialize_and_write` method is moved as a function: the `self` argument is replaced by `sess: &Session`. This `&Session` was fetched earlier in `after_krate` in all cases. This change allows to call `serialize_and_write` after `output_crate` is created, without having a conflict around the move of `self`: the borrow checker is now happy.

I wasn't able to measure the performance impact though because I don't know how to modify `rustc-perf` as [@nnethercote  did](rust-lang#142335 (comment)) (sorry).

---

Follow up of rust-lang#142335.

r? @nnethercote
Fix some loop block coercion diagnostics

Fixes rust-lang#150850
Ignore `rustc-src-gpl` in fast try builds

I noticed that fast try builds now build this new component (unnecessarily).
…r=bjorn3

Refactor artifact keep mode in bootstrap

This makes it easier to understand which artifacts will be stored in the build stamp. Should help with rust-lang#145343.

Before, there were two booleans (keep .rmeta files and a special mode for rustc). I created an explicit enum for it instead. The mapping is:
- `(false, false)` => `ArtifactKeepMode::OnlyRlib`
- `(true, false)` => `ArtifactKeepMode::OnlyRmeta` (used for check/clippy builds)
- `(false, true)` => special rustc mode

r? @bjorn3
Supress unused_parens lint for guard patterns

Fixes rust-lang#149594
Update bors email in CI postprocessing step

This was breaking CI job summaries. I don't think we have to backport it, should be mostly harmless.
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Jan 10, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-rustc-dev-guide Area: rustc-dev-guide A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 10, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 10, 2026

💥 Test timed out after 21600s

@matthiaskrgr
Copy link
Member Author

single runner timed out, threading in between #146923 again to keep alternating
@bors retry p=6

@matthiaskrgr
Copy link
Member Author

@bors p=6

@Kobzol
Copy link
Member

Kobzol commented Jan 10, 2026

@bors info

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 10, 2026

Status of PR 150912

  • Approved by: matthiaskrgr
  • Priority: 6
  • Mergeable: yes

@matthiaskrgr
Copy link
Member Author

@bors r-

@rust-bors rust-bors bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 10, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 10, 2026

Commit 9399309 has been unapproved.

@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=6

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jan 10, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 10, 2026

📌 Commit 9399309 has been approved by matthiaskrgr

It is now in the queue for this repository.

@matthiaskrgr
Copy link
Member Author

@bors info

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 10, 2026

Status of PR 150912

  • Approved by: matthiaskrgr
  • Priority: 6
  • Mergeable: yes

@rust-bors

This comment has been minimized.

@rust-bors rust-bors bot added the merged-by-bors This PR was explicitly merged by bors. label Jan 11, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 11, 2026

☀️ Test successful - CI
Approved by: matthiaskrgr
Pushing ad04f76 to main...

@rust-bors rust-bors bot merged commit ad04f76 into rust-lang:main Jan 11, 2026
12 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Jan 11, 2026
@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 f57eac1 (parent) -> ad04f76 (this PR)

Test differences

Show 34 test diffs

Stage 1

  • [ui] tests/ui/const-generics/mgca/adt_expr_arg_tuple_expr_fail.rs: [missing] -> pass (J0)
  • [ui] tests/ui/for-loop-while/dont-suggest-break-from-unbreakable-loops.rs: [missing] -> pass (J0)
  • [ui] tests/ui/lint/unused/unused_parens/parens-around-guard-patterns-not-unused.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/const-generics/mgca/adt_expr_arg_tuple_expr_fail.rs: [missing] -> pass (J1)
  • [ui] tests/ui/for-loop-while/dont-suggest-break-from-unbreakable-loops.rs: [missing] -> pass (J1)
  • [ui] tests/ui/lint/unused/unused_parens/parens-around-guard-patterns-not-unused.rs: [missing] -> pass (J1)

Additionally, 28 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 ad04f76d844d2624fa80e1186abd1497196597a1 --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-x86_64-apple: 6876.6s -> 7666.4s (+11.5%)
  2. aarch64-msvc-2: 5744.9s -> 6193.8s (+7.8%)
  3. dist-aarch64-apple: 6902.4s -> 6389.9s (-7.4%)
  4. x86_64-mingw-1: 9927.2s -> 9269.5s (-6.6%)
  5. x86_64-gnu-miri: 4635.1s -> 4936.8s (+6.5%)
  6. i686-gnu-nopt-2: 8043.3s -> 7548.8s (-6.1%)
  7. tidy: 181.4s -> 170.5s (-6.0%)
  8. x86_64-msvc-ext2: 5752.6s -> 6081.4s (+5.7%)
  9. dist-i686-mingw: 9604.1s -> 9056.8s (-5.7%)
  10. pr-check-1: 2041.7s -> 1925.7s (-5.7%)
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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#150269 Remove inactive nvptx maintainer 2c7724ac588962d09459acde80df919232cc1740 (link)
#150713 mgca: Type-check fields of struct expr const args cc6e48d43c5bc4b2b02f72220a51a6a2531d746c (link)
#150765 rustc_parse_format: improve error for missing : before `?… 0db27dfee6136857311c3b6b78a9b22fc62454c5 (link)
#150847 Fix broken documentation links to SipHash 40ab7c8f97f64efac7fb18a3f46ce4ed01422df6 (link)
#150867 rustdoc_json: Remove one call to std::mem::take in `after… 2b0358db961348987cc3ca8656c0ee546396193b (link)
#150872 Fix some loop block coercion diagnostics 915b4eb71e6fc9f735aec054f73a5c4296d4d151 (link)
#150874 Ignore rustc-src-gpl in fast try builds 4c50724e1be76f078a5a08475576238d68504af9 (link)
#150875 Refactor artifact keep mode in bootstrap 02fbd9546d38cd456e786099394374d2ef185dbc (link)
#150876 Mention that rustc_codegen_gcc is a subtree in `rustc-dev… 67801fb6cf1cb5eca127ea1a68147591feb75fd4 (link)
#150882 Supress unused_parens lint for guard patterns db72aa189ae1fce5cd854539b95f9b145f20324c (link)
#150884 Update bors email in CI postprocessing step c51b5553499b9536cb0dfd48be0f15777b13ca95 (link)

previous master: f57eac1bf9

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

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (ad04f76): 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 (secondary -2.3%)

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

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-2.4%, -2.2%] 2
All ❌✅ (primary) - - 0

Cycles

Results (primary 2.0%, secondary 2.5%)

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

mean range count
Regressions ❌
(primary)
2.0% [2.0%, 2.0%] 1
Regressions ❌
(secondary)
2.5% [2.1%, 3.0%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.0% [2.0%, 2.0%] 1

Binary size

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

Bootstrap: 473.812s -> 474.037s (0.05%)
Artifact size: 391.34 MiB -> 391.31 MiB (-0.01%)

@Kobzol Kobzol removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-rustc-dev-guide Area: rustc-dev-guide A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants