Skip to content

Rollup of 9 pull requests#152163

Merged
rust-bors[bot] merged 19 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-Ypg7w4H
Feb 5, 2026
Merged

Rollup of 9 pull requests#152163
rust-bors[bot] merged 19 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-Ypg7w4H

Conversation

@JonathanBrouwer
Copy link
Contributor

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

Kobzol and others added 19 commits February 4, 2026 16:41
This commmit is a pure rename and does not change any functionality.

The `FLAG_` part of `ON_BROKEN_PIPE_FLAG_USED` comes from that the
compiler flag `-Zon-broken-pipe=...` is used to enable the feature.

Remove the `FLAG_` part so the name works both for the flag
`-Zon-broken-pipe=...` and for the upcoming Externally Implementable
Item `#[std::io::on_broken_pipe]`. This makes the diff of that PR
smaller.

The local variable name `sigpipe_attr_specified` comes from way back
when the feature was controlled with an `fn main()` attribute called
`#[unix_sigpipe = "..."]`. Rename that too.
…gjubilee

c-variadic: make `va_arg` match on `Arch` exhaustive

tracking issue: rust-lang#44930

Continuing from rust-lang#150094, the more annoying cases remain. These are mostly very niche targets without Clang `va_arg` implementations, and so it might just be easier to defer to LLVM instead of us getting the ABI subtly wrong. That does mean we cannot stabilize c-variadic on those targets I think.

Alternatively we could ask target maintainers to contribute an implementation. I'd honestly prefer they make that change to LVM though (likely by just using `CodeGen::emitVoidPtrVAArg`) that we can mirror.

r? @workingjubilee
…rcoieni

Fix GitHub CI summary in CodeBuild

We need to copy the summary only after the data is copied out from the Docker image in Docker-in-Docker/CodeBuild scenarios. This was broken for many months now.

Compare the summary https://github.com/rust-lang/rust/actions/runs/21663321354 (before) and https://github.com/rust-lang/rust/actions/runs/21671277310 (after) - the dist-x86_64-linux job now correctly contains the summary generated by `opt-dist`.

r? @marcoieni
Incorporate query description functions into `QueryVTable`

Putting a `desc` function in each query vtable reduces the amount of parameter juggling required when creating query stack frames, because almost all of the necessary information can be found in the vtable.

There should be no change to compiler output.
…alysis, r=jdonszelmann

Convert to inline diagnostics in `rustc_pattern_analysis`

For rust-lang#151366

r? @jdonszelmann
…, r=jdonszelmann

Convert to inline diagnostics in `rustc_ast_passes`

For rust-lang#151366
r? @jdonszelmann
…jdonszelmann

Convert to inline diagnostics in `rustc_middle`

For rust-lang#151366
r? @jdonszelmann
…cros, r=lqd

Convert to inline diagnostics in `rustc_builtin_macros`

For rust-lang#151366
r? @jdonszelmann
…, r=ChrisDenton

library/std: Rename `ON_BROKEN_PIPE_FLAG_USED` to `ON_BROKEN_PIPE_USED`

This commit is a pure internal rename and does not change any functionality.

The `FLAG_` part of `ON_BROKEN_PIPE_FLAG_USED` comes from that the compiler flag `-Zon-broken-pipe=...` is used to enable the feature.

Remove the `FLAG_` part so the name works both for the current compiler flag `-Zon-broken-pipe=...` and for the upcoming [Externally Implementable Item `#[std::io::on_broken_pipe]`](rust-lang#150591) PR. This makes the diff of that PR smaller.

The local variable name `sigpipe_attr_specified` comes from way back when the feature was controlled with an `fn main()` attribute called `#[unix_sigpipe = "..."]`. Rename that too.
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Feb 5, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like 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-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. labels Feb 5, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 5, 2026

📌 Commit cb77fcb has been approved by JonathanBrouwer

It is now in the queue for this repository.

@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 Feb 5, 2026
@rust-bors

This comment has been minimized.

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
REPOSITORY                                   TAG       IMAGE ID       CREATED      SIZE
ghcr.io/dependabot/dependabot-updater-core   latest    bcec0b4e062b   9 days ago   783MB
=> Removing docker images...
Deleted Images:
untagged: ghcr.io/dependabot/dependabot-updater-core:latest
untagged: ghcr.io/dependabot/dependabot-updater-core@sha256:b662be51f7b8ef7e2c8464428f14e49cb79c36aa9afb7ecb9221dfe0f507050c
deleted: sha256:bcec0b4e062b5ffe11cc1c2729558c0cd96621c0271ab5e97ff3a56e0c25045a
deleted: sha256:64e147d5e54d9be8b8aa322e511cda02296eda4b8b8d063c6a314833aca50e29
deleted: sha256:5cba409bb463f4e7fa1a19f695450170422582c1bc7c0e934d893b4e5f558bc6
deleted: sha256:cddc6ebd344b0111eaab170ead1dfda24acdfe865ed8a12599a34d338fa8e28b
deleted: sha256:2412c3f334d79134573cd45e657fb6cc0abd75bef3881458b0d498d936545c8d
---
tests/ui/double_parens.rs ... ok
tests/ui/drop_non_drop.rs ... ok
tests/ui/duplicate_underscore_argument.rs ... ok
tests/ui/duplicated_attributes.rs ... ok
tests/ui/duration_suboptimal_units.rs ... ok
tests/ui/duration_suboptimal_units_days_weeks.rs ... ok
tests/ui/duration_subsec.rs ... ok
tests/ui/double_parens.fixed ... ok
tests/ui/duration_suboptimal_units.fixed ... ok
tests/ui/duration_suboptimal_units_days_weeks.fixed ... ok
tests/ui/duration_subsec.fixed ... ok
tests/ui/eager_transmute.rs ... ok
tests/ui/else_if_without_else.rs ... ok
tests/ui/elidable_lifetime_names.rs ... ok
tests/ui/empty_docs.rs ... ok
---
..............................................     (146/146)

======== tests/rustdoc-gui/search-filter.goml ========

[ERROR] line 48: Error: The CSS selector "#search-tabs .count.loading" still exists: for command `wait-for-false: "#search-tabs .count.loading"`
    at <file:///checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/doc/test_docs/index.html?search=test>

======== tests/rustdoc-gui/search-result-display.goml ========

[WARNING] line 39: Delta is 0 for "x", maybe try to use `compare-elements-position` instead?

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

rust-bors bot commented Feb 5, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 19m 41s
Pushing 66daca1 to main...

@rust-bors rust-bors bot merged commit 66daca1 into rust-lang:main Feb 5, 2026
8 of 12 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Feb 5, 2026
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#150831 c-variadic: make va_arg match on Arch exhaustive aa7e80096a3022961b9103fe5c7f95328cb693c7 (link)
#152070 Convert to inline diagnostics in rustc_pattern_analysis 827f87cc8463cff4c3b2c092e3a960b9e3f1e5ae (link)
#152106 Convert to inline diagnostics in rustc_ast_passes 08332a0e578025fb730f8d045174db2b82e0ac63 (link)
#152109 Convert to inline diagnostics in rustc_errors 884cffe521f4d886ee54d0d59f8b17c9f23b92a8 (link)
#152113 Fix GitHub CI summary in CodeBuild 080da3cb7a00656d2f966f518fcffcb3d2638ae3 (link)
#152119 Convert to inline diagnostics in rustc_middle 0690968c9dc9fce4a4336ad13f48468ba5aec0ff (link)
#152121 Convert to inline diagnostics in rustc_builtin_macros a492a20ccd980eec0d8218d46179f2a9410c0334 (link)
#152133 library/std: Rename ON_BROKEN_PIPE_FLAG_USED to `ON_BROKE… a3e02c6541da08a52518fd0240debf12900e1329 (link)
#152153 Incorporate query description functions into QueryVTable aba0ff1a80d265c96e46b87009a6d81ab99f979b (link)

previous master: 0a13b43612

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

github-actions bot commented Feb 5, 2026

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 0a13b43 (parent) -> 66daca1 (this PR)

Test differences

Show 406 test diffs

Stage 0

  • deriving::coerce_pointee::verify_builtin_macros_coerce_pointee_requires_one_field_1: pass -> [missing] (J1)
  • deriving::coerce_pointee::verify_builtin_macros_coerce_pointee_requires_one_pointee_3: pass -> [missing] (J1)
  • deriving::coerce_pointee::verify_builtin_macros_coerce_pointee_too_many_pointees_4: pass -> [missing] (J1)
  • error::verify_middle_invalid_const_in_valtree_20: pass -> [missing] (J1)
  • error::verify_middle_layout_normalization_failure_14: pass -> [missing] (J1)
  • error::verify_middle_layout_simd_too_many_12: pass -> [missing] (J1)
  • error::verify_middle_layout_simd_zero_length_13: pass -> [missing] (J1)
  • error::verify_middle_layout_too_generic_10: pass -> [missing] (J1)
  • errors::autodiff::verify_builtin_macros_autodiff_ret_activity_35: pass -> [missing] (J1)
  • errors::autodiff::verify_builtin_macros_autodiff_ty_activity_32: pass -> [missing] (J1)
  • errors::autodiff::verify_builtin_macros_autodiff_width_36: pass -> [missing] (J1)
  • errors::verify_ast_passes_abi_cannot_be_coroutine_70: pass -> [missing] (J1)
  • errors::verify_ast_passes_abi_custom_safe_foreign_function_68: pass -> [missing] (J1)
  • errors::verify_ast_passes_assoc_const_without_body_11: pass -> [missing] (J1)
  • errors::verify_ast_passes_assoc_type_without_body_13: pass -> [missing] (J1)
  • errors::verify_ast_passes_async_fn_in_const_trait_or_trait_impl_2: pass -> [missing] (J1)
  • errors::verify_ast_passes_c_variadic_bad_extern_29: pass -> [missing] (J1)
  • errors::verify_ast_passes_const_auto_trait_37: pass -> [missing] (J1)
  • errors::verify_ast_passes_const_without_body_14: pass -> [missing] (J1)
  • errors::verify_ast_passes_extern_item_ascii_26: pass -> [missing] (J1)
  • errors::verify_ast_passes_item_underscore_31: pass -> [missing] (J1)
  • errors::verify_ast_passes_match_arm_with_no_body_63: pass -> [missing] (J1)
  • errors::verify_ast_passes_pattern_in_bodiless_58: pass -> [missing] (J1)
  • errors::verify_ast_passes_pattern_in_foreign_57: pass -> [missing] (J1)
  • errors::verify_ast_passes_scalable_vector_not_tuple_struct_74: pass -> [missing] (J1)
  • errors::verify_ast_passes_trait_object_single_bound_39: pass -> [missing] (J1)
  • errors::verify_ast_passes_ty_alias_without_body_16: pass -> [missing] (J1)
  • errors::verify_ast_passes_unsafe_item_45: pass -> [missing] (J1)
  • errors::verify_ast_passes_where_clause_after_type_alias_49: pass -> [missing] (J1)
  • errors::verify_builtin_macros_alloc_error_must_be_fn_13: pass -> [missing] (J1)
  • errors::verify_builtin_macros_alloc_must_statics_29: pass -> [missing] (J1)
  • errors::verify_builtin_macros_asm_attribute_not_supported_71: pass -> [missing] (J1)
  • errors::verify_builtin_macros_asm_no_matched_argument_name_75: pass -> [missing] (J1)
  • errors::verify_builtin_macros_assert_requires_boolean_14: pass -> [missing] (J1)
  • errors::verify_builtin_macros_avoid_att_syntax_7: pass -> [missing] (J1)
  • errors::verify_builtin_macros_avoid_intel_syntax_6: pass -> [missing] (J1)
  • errors::verify_builtin_macros_bench_sig_28: pass -> [missing] (J1)
  • errors::verify_builtin_macros_cfg_accessible_has_args_20: pass -> [missing] (J1)
  • errors::verify_builtin_macros_cfg_accessible_unspecified_path_17: pass -> [missing] (J1)
  • errors::verify_builtin_macros_cfg_select_no_matches_90: pass -> [missing] (J1)
  • errors::verify_builtin_macros_concat_bytes_oob_38: pass -> [missing] (J1)
  • errors::verify_builtin_macros_concat_bytestr_23: pass -> [missing] (J1)
  • errors::verify_builtin_macros_concat_missing_literal_22: pass -> [missing] (J1)
  • errors::verify_builtin_macros_derive_path_args_value_46: pass -> [missing] (J1)
  • errors::verify_builtin_macros_duplicate_macro_attribute_10: pass -> [missing] (J1)
  • errors::verify_builtin_macros_eii_only_once_97: pass -> [missing] (J1)
  • errors::verify_builtin_macros_expected_other_89: pass -> [missing] (J1)
  • errors::verify_builtin_macros_source_utils_expected_item_86: pass -> [missing] (J1)
  • errors::verify_builtin_macros_test_runner_nargs_81: pass -> [missing] (J1)
  • errors::verify_builtin_macros_trace_macros_27: pass -> [missing] (J1)

Stage 1

  • deriving::coerce_pointee::verify_builtin_macros_coerce_pointee_requires_maybe_sized_5: pass -> [missing] (J0)
  • deriving::coerce_pointee::verify_builtin_macros_coerce_pointee_requires_transparent_0: pass -> [missing] (J0)
  • error::verify_middle_layout_cycle_15: pass -> [missing] (J0)
  • error::verify_middle_layout_references_error_16: pass -> [missing] (J0)
  • error::verify_middle_layout_simd_too_many_12: pass -> [missing] (J0)
  • error::verify_middle_layout_size_overflow_11: pass -> [missing] (J0)
  • error::verify_middle_recursion_limit_reached_4: pass -> [missing] (J0)
  • error::verify_middle_unsupported_union_2: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_missing_config_30: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_ty_activity_32: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_unknown_activity_31: pass -> [missing] (J0)
  • errors::autodiff::verify_builtin_macros_autodiff_width_36: pass -> [missing] (J0)
  • errors::verify_ast_passes_abi_must_not_have_parameters_or_return_type_71: pass -> [missing] (J0)
  • errors::verify_ast_passes_assoc_type_without_body_13: pass -> [missing] (J0)
  • errors::verify_ast_passes_auto_generic_34: pass -> [missing] (J0)
  • errors::verify_ast_passes_body_in_extern_23: pass -> [missing] (J0)
  • errors::verify_ast_passes_c_variadic_bad_extern_29: pass -> [missing] (J0)
  • errors::verify_ast_passes_c_variadic_no_extern_27: pass -> [missing] (J0)
  • errors::verify_ast_passes_const_auto_trait_37: pass -> [missing] (J0)
  • errors::verify_ast_passes_extern_fn_qualifiers_25: pass -> [missing] (J0)
  • errors::verify_ast_passes_fn_param_c_var_args_not_last_6: pass -> [missing] (J0)
  • errors::verify_ast_passes_fn_param_forbidden_self_9: pass -> [missing] (J0)
  • errors::verify_ast_passes_fn_param_too_many_5: pass -> [missing] (J0)
  • errors::verify_ast_passes_incompatible_features_59: pass -> [missing] (J0)
  • errors::verify_ast_passes_match_arm_with_no_body_63: pass -> [missing] (J0)
  • errors::verify_ast_passes_module_nonascii_33: pass -> [missing] (J0)
  • errors::verify_ast_passes_nested_lifetimes_51: pass -> [missing] (J0)
  • errors::verify_ast_passes_pattern_in_foreign_57: pass -> [missing] (J0)
  • errors::verify_ast_passes_precise_capturing_duplicated_65: pass -> [missing] (J0)
  • errors::verify_ast_passes_where_clause_after_type_alias_49: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_noreturn_74: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_pure_combine_68: pass -> [missing] (J0)
  • errors::verify_builtin_macros_asm_pure_no_output_69: pass -> [missing] (J0)
  • errors::verify_builtin_macros_avoid_intel_syntax_6: pass -> [missing] (J0)
  • errors::verify_builtin_macros_cfg_accessible_multiple_paths_18: pass -> [missing] (J0)
  • errors::verify_builtin_macros_cfg_accessible_unspecified_path_17: pass -> [missing] (J0)
  • errors::verify_builtin_macros_concat_bytestr_23: pass -> [missing] (J0)
  • errors::verify_builtin_macros_default_arg_49: pass -> [missing] (J0)
  • errors::verify_builtin_macros_derive_from_wrong_field_count_51: pass -> [missing] (J0)
  • errors::verify_builtin_macros_derive_path_args_value_46: pass -> [missing] (J0)
  • errors::verify_builtin_macros_duplicate_macro_attribute_10: pass -> [missing] (J0)
  • errors::verify_builtin_macros_eii_declaration_expected_unsafe_94: pass -> [missing] (J0)
  • errors::verify_builtin_macros_env_not_defined_57: pass -> [missing] (J0)
  • errors::verify_builtin_macros_env_not_unicode_58: pass -> [missing] (J0)
  • errors::verify_builtin_macros_naked_functions_testing_attribute_87: pass -> [missing] (J0)
  • errors::verify_builtin_macros_non_unit_default_47: pass -> [missing] (J0)
  • errors::verify_builtin_macros_proc_macro_attribute_only_usable_with_crate_type_85: pass -> [missing] (J0)
  • errors::verify_builtin_macros_tests_not_support_44: pass -> [missing] (J0)
  • errors::verify_pattern_analysis_excluside_range_missing_max_0: pass -> [missing] (J0)
  • errors::verify_pattern_analysis_mixed_deref_pattern_constructors_2: pass -> [missing] (J0)

(and 296 additional test diffs)

Additionally, 10 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 66daca1a85c459b1da49dc0ef1ba027b53e4ac2c --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: 2h 19m -> 1h 56m (-16.3%)
  2. i686-gnu-1: 2h 10m -> 2h 28m (+13.9%)
  3. dist-x86_64-apple: 2h 9m -> 1h 52m (-13.5%)
  4. x86_64-gnu-stable: 2h 34m -> 2h 17m (-11.1%)
  5. aarch64-gnu-llvm-20-2: 54m 13s -> 48m 48s (-10.0%)
  6. dist-apple-various: 1h 6m -> 1h (-9.6%)
  7. x86_64-gnu-llvm-21-1: 1h 15m -> 1h 8m (-9.4%)
  8. x86_64-gnu-llvm-20: 1h 11m -> 1h 17m (+8.0%)
  9. x86_64-msvc-ext3: 1h 50m -> 1h 41m (-7.4%)
  10. dist-aarch64-linux: 1h 49m -> 1h 56m (+7.0%)
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 (66daca1): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.3% [-3.6%, -0.2%] 38
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.2%, secondary 0.5%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.8%, 0.8%] 1
Regressions ❌
(secondary)
2.1% [2.1%, 2.1%] 1
Improvements ✅
(primary)
-3.7% [-5.9%, -1.5%] 2
Improvements ✅
(secondary)
-1.1% [-1.1%, -1.1%] 1
All ❌✅ (primary) -2.2% [-5.9%, 0.8%] 3

Cycles

Results (secondary -3.1%)

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

Binary size

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

Bootstrap: 474.495s -> 474.029s (-0.10%)
Artifact size: 397.91 MiB -> 397.93 MiB (0.00%)

@JonathanBrouwer
Copy link
Contributor Author

This is a very similar perf improvement pattern to #152156
So this is probably just the diagnostics PRs again :)

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-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like rollup A PR which is a rollup 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants