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 <usmanakinyemi202@gmail.com>
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%)

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 S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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