Skip to content

Conversation

@matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost

Create a similar rollup

Zalathar and others added 23 commits January 10, 2026 22:14
…c grouping

Detect Python-style numeric grouping syntax in format strings (e.g. `{x:,}`)
and emit a clear diagnostic explaining that it is not supported in Rust.
This helps users coming from Python understand the error without exposing
the full set of valid Rust format specifiers.

Signed-off-by: Usman Akinyemi <[email protected]>
Because these folders only change regions.

Note: `BottomUpFolder` folds all regions, while `fold_regions` skips
some bound regions. But that's ok because these two folders only modify
`ReVar`s.
The exact same call appears earlier in this function.
The only thing we do with the result is consult the `.def_id` field,
which is unaffected by `erase_and_anonymize_regions`.
- Remove the vacuous `Types`, which provides extremely little value.
- Make sure `src` comes before `dst` in all transmute-related functions.
  (Currently it's a mix: sometimes `src` is first, sometimes it is
  second`.)
It duplicates `has_erased_regions` from the compiler.
The read and read_vectored methods were returning the length of the
input buffer, rather than the number of bytes actually read. Fix by
changing read_inner to return the correct value, and have both read and
read_vectored return that.
Folding/`ReErased` cleanups

Various cleanups I found while reading this code closely, mostly involving folding and the use of `ReErased`.

r? @lcnr
Emit error instead of delayed bug when meeting mismatch type for const tuple

And rename some tests

Fixes rust-lang#150841

r? @BoxyUwU
Use a hook to decouple `rustc_mir_transform` from `rustc_mir_build`

I noticed that the only point of direct contact between the `rustc_mir_transform` and `rustc_mir_build` crates is a single `build_mir` function, which could easily be changed to a hook function instead.

By making that function a hook, we can make `rustc_mir_transform` no longer have a dependency on `rustc_mir_build`, allowing them to be built/rebuilt independently. That should hopefully allow slightly more parallelism in clean builds and incremental rebuilds of the compiler.
rustc_parse_format: improve diagnostics for unsupported python numeric grouping

Detect Python-style numeric grouping syntax in format strings (e.g. `{x:,}`)
and emit a clear diagnostic explaining that it is not supported in Rust.
This helps users coming from Python understand the error without exposing
the full set of valid Rust format specifiers.
Rename EII attributes slightly (being consistent in naming things foreign items, not extern items)

r? @Kivooeo
Use updated indexes to build reverse map for delegation generics

Fixes rust-lang#150673.

This was a bug that built the `param_def_id_to_index` map with indexes before the new generics were renumbered.

r? @petrochenkov
std: Fix size returned by UEFI tcp4 read operations

The read and read_vectored methods were returning the length of the input buffer, rather than the number of bytes actually read. Fix by changing read_inner to return the correct value, and have both read and read_vectored return that.
Remove `S-waiting-on-bors` after a PR is merged

I just noticed that we have 50k+ PRs marked as waiting on bors, even though they have been merged, lol.
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Jan 12, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jan 12, 2026
@rustbot rustbot added T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Jan 12, 2026
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@rust-bors rust-bors bot added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 12, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 12, 2026

📌 Commit db4c095 has been approved by matthiaskrgr

It is now in the queue for this repository.

@rust-bors rust-bors bot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 12, 2026
@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Jan 12, 2026
Rollup of 8 pull requests

Successful merges:

 - #150861 (Folding/`ReErased` cleanups)
 - #150869 (Emit error instead of delayed bug when meeting mismatch type for const tuple)
 - #150920 (Use a hook to decouple `rustc_mir_transform` from `rustc_mir_build`)
 - #150941 (rustc_parse_format: improve diagnostics for unsupported python numeric grouping)
 - #150972 (Rename EII attributes slightly (being consistent in naming things foreign items, not extern items))
 - #150980 (Use updated indexes to build reverse map for delegation generics)
 - #150986 (std: Fix size returned by UEFI tcp4 read operations)
 - #150996 (Remove `S-waiting-on-bors` after a PR is merged)

r? @ghost
@rust-bors rust-bors bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 12, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 12, 2026

💔 Test for b53b0fa failed: CI. Failed jobs:

@matthiaskrgr
Copy link
Member Author

@bors retry

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 12, 2026
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@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 12, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 12, 2026

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

@rust-bors rust-bors bot merged commit aefa104 into rust-lang:main Jan 12, 2026
12 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Jan 12, 2026
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#150861 Folding/ReErased cleanups 42eefbb66e6da7be89eb5be6fcd9b1e21fbbbd65 (link)
#150869 Emit error instead of delayed bug when meeting mismatch typ… 1279309ad6c23754b7051b39114bb9282be96a23 (link)
#150920 Use a hook to decouple rustc_mir_transform from `rustc_mi… 313c9c2f302280b911504ff84beef7dd677555f6 (link)
#150941 rustc_parse_format: improve diagnostics for unsupported pyt… b4522306f306ceb33fec31039a4e44a78a037f5f (link)
#150972 Rename EII attributes slightly (being consistent in naming … cbeed521c3ab6198fa045f7615b10be05f76cb75 (link)
#150980 Use updated indexes to build reverse map for delegation gen… fbaf17c2206ecb1603221e031c8bc291489738df (link)
#150986 std: Fix size returned by UEFI tcp4 read operations b610811f9d1f9742d768c2ebcb7171ba264764e8 (link)
#150996 Remove S-waiting-on-bors after a PR is merged cf4fcb8e527d1e7c74e4534e3a984eab2bd6fd45 (link)

previous master: 137716908d

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 1377169 (parent) -> aefa104 (this PR)

Test differences

Show 38 test diffs

Stage 0

  • errors::verify_builtin_macros_eii_declaration_expected_list_93: [missing] -> pass (J0)
  • errors::verify_builtin_macros_eii_declaration_expected_macro_92: [missing] -> pass (J0)
  • errors::verify_builtin_macros_eii_declaration_expected_unsafe_94: [missing] -> pass (J0)
  • errors::verify_builtin_macros_eii_extern_target_expected_list_93: pass -> [missing] (J0)
  • errors::verify_builtin_macros_eii_extern_target_expected_macro_92: pass -> [missing] (J0)
  • errors::verify_builtin_macros_eii_extern_target_expected_unsafe_94: pass -> [missing] (J0)

Stage 1

  • [ui] tests/ui/const-generics/mgca/adt_expr_arg_tuple_expr_complex.rs: pass -> [missing] (J0)
  • [ui] tests/ui/const-generics/mgca/adt_expr_arg_tuple_expr_simple.rs: pass -> [missing] (J0)
  • [ui] tests/ui/const-generics/mgca/tuple_expr_arg_complex.rs: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/mgca/tuple_expr_arg_mismatch_type.rs: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/mgca/tuple_expr_arg_simple.rs: [missing] -> pass (J0)
  • [ui] tests/ui/delegation/ice-issue-150673.rs: [missing] -> pass (J0)
  • errors::verify_builtin_macros_eii_declaration_expected_list_93: [missing] -> pass (J2)
  • errors::verify_builtin_macros_eii_declaration_expected_macro_92: [missing] -> pass (J2)
  • errors::verify_builtin_macros_eii_declaration_expected_unsafe_94: [missing] -> pass (J2)
  • errors::verify_builtin_macros_eii_extern_target_expected_list_93: pass -> [missing] (J2)
  • errors::verify_builtin_macros_eii_extern_target_expected_macro_92: pass -> [missing] (J2)
  • errors::verify_builtin_macros_eii_extern_target_expected_unsafe_94: pass -> [missing] (J2)

Stage 2

  • [ui] tests/ui/const-generics/mgca/adt_expr_arg_tuple_expr_complex.rs: pass -> [missing] (J1)
  • [ui] tests/ui/const-generics/mgca/adt_expr_arg_tuple_expr_simple.rs: pass -> [missing] (J1)
  • [ui] tests/ui/const-generics/mgca/tuple_expr_arg_complex.rs: [missing] -> pass (J1)
  • [ui] tests/ui/const-generics/mgca/tuple_expr_arg_mismatch_type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/const-generics/mgca/tuple_expr_arg_simple.rs: [missing] -> pass (J1)
  • [ui] tests/ui/delegation/ice-issue-150673.rs: [missing] -> pass (J1)

Additionally, 14 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 aefa10405d7b67b3780027484cb02c85d3a3bf36 --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: 9701.5s -> 6493.7s (-33.1%)
  2. dist-aarch64-apple: 7232.2s -> 9340.3s (+29.1%)
  3. x86_64-msvc-1: 8134.6s -> 9155.6s (+12.6%)
  4. x86_64-gnu-llvm-21-2: 5959.0s -> 5282.7s (-11.3%)
  5. dist-apple-various: 4200.1s -> 4640.6s (+10.5%)
  6. i686-gnu-nopt-2: 7866.0s -> 8674.8s (+10.3%)
  7. dist-various-1: 3756.2s -> 4100.1s (+9.2%)
  8. x86_64-msvc-ext2: 5920.8s -> 6442.7s (+8.8%)
  9. dist-x86_64-llvm-mingw: 6521.2s -> 7080.6s (+8.6%)
  10. pr-check-1: 2022.8s -> 1851.2s (-8.5%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (aefa104): 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 -3.6%)

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)
-3.6% [-3.6%, -3.6%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -3.6% [-3.6%, -3.6%] 1

Cycles

Results (primary -3.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)
-3.3% [-3.3%, -3.3%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -3.3% [-3.3%, -3.3%] 1

Binary size

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

Bootstrap: 473.493s -> 474.371s (0.19%)
Artifact size: 391.40 MiB -> 391.41 MiB (0.00%)

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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-clippy Relevant to the Clippy team. 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. T-rust-analyzer Relevant to the rust-analyzer 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.