Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Dec 1, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

folkertdev and others added 21 commits November 24, 2025 13:26
Added feature gate, documentation and tests also.
Implement `clamp_magnitude` method for primitive floats & signed integers

Tracking issue rust-lang#148519
ACP rust-lang/libs-team#686
stabilize maybe_uninit_slice

Tracking issue: rust-lang#63569
Closes: rust-lang#63569
FCP completed: rust-lang#63569 (comment)

Removes:
```rs
pub const fn slice_as_ptr(this: &[MaybeUninit<T>]) -> *const T;
pub const fn slice_as_mut_ptr(this: &mut [MaybeUninit<T>]) -> *mut T;
```
cmse: do not calculate the layout of a type with infer types

tracking issue: rust-lang#81391
tracking issue: rust-lang#75835
fixes rust-lang#130104

Don't calculate the layout of a type with an infer type (`_`). This now emits `LayoutError::Unknown`, causing an error similar to when any other calling convention is used in this location.

The tests use separate functions because only the first such error in a function body is reported.

r? `@davidtwco` (might need some T-types assistance)
Fudge infer vars in the cause code of `Obligation` intentionally

Fixes the ICE variant in rust-lang/trait-system-refactor-initiative#245.
Fixes rust-lang#142866.

The detailed cause is in the test comments.

r? `@lcnr`
…Kivooeo

Don't suggest unwrap for Result in const

close rust-lang#149316

Regarding `const fn` that returns `Result`, we should avoid suggesting unwrapping. The original issue reported cases where types didn't match, but in practice, such suggestions may also appear when methods are not found, so this PR includes a fix for that case as well.
fix(parse): Limit frontmatter fences to 255 dashes

Like raw string literals.  As discussed on rust-lang#148051.

Part of  rust-lang#136889
…l, r=petrochenkov

make assoc fn inherit const stability from inherent `const impl` blocks

Pulled out of rust-lang#147893, "Currently, one cannot add any const stability annotations on the individual assoc fns at all, as the specific pass that checks for const stability on const fn seems to run as a HIR visitor [and looks at HIR assoc fn constness, which should be changed to also look at its parent]. I suspect there are things to be cleaned up there."

I was slightly lazy so didn't add the "staged_api using staged_api in implicit const stable context, in const unstable context, in explicit const stable context" tests. nudge me if you want to see those!
…ochenkov

Fix rust-lang#148889: Add label rib when visiting delegation body

This PR relates to the delegation feature rust-lang#118212, it fixes rust-lang#148889 ICE.
r? `@petrochenkov`
@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 Dec 1, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Dec 1, 2025

📌 Commit e0091c5 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 Dec 1, 2025
@bors
Copy link
Collaborator

bors commented Dec 1, 2025

⌛ Testing commit e0091c5 with merge a463b0e...

@bors
Copy link
Collaborator

bors commented Dec 1, 2025

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

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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#148690 Implement clamp_magnitude method for primitive floats & s… 764e09b67d65e1d810f5b343af30a5b44048cddb (link)
#149102 stabilize maybe_uninit_slice c9022e695beeb9793cd458feff5b5ac5dcd4e48f (link)
#149269 cmse: do not calculate the layout of a type with infer types b4a16d1149d840d4c5510c139ffae166298f7745 (link)
#149299 Fudge infer vars in the cause code of Obligation intentio… 904b6fc43d5636b16663e97a155d453897550358 (link)
#149344 Don't suggest unwrap for Result in const 15d266703b547b9351c29a04860e417331fd820b (link)
#149358 fix(parse): Limit frontmatter fences to 255 dashes 7f397377783f8043145f8267541c80e7de7faebb (link)
#149445 make assoc fn inherit const stability from inherent `const … bc0d18c885375d54b59cbde2a651e04b1f8912d4 (link)
#149479 Fix indent in E0591.md f00ecd502a186d79ee6c64b3fe90e0495826d6b4 (link)
#149496 Fix #148889: Add label rib when visiting delegation body b5c60d4a1ebcba01c1d226705d8b67eb59d1f208 (link)

previous master: 2fb805367d

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 Dec 1, 2025

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 2fb8053 (parent) -> a463b0e (this PR)

Test differences

Show 942 test diffs

Stage 0

  • errors::verify_parse_asm_expected_string_literal_185: pass -> [missing] (J0)
  • errors::verify_parse_asm_underscore_input_179: pass -> [missing] (J0)
  • errors::verify_parse_associated_static_item_not_allowed_89: pass -> [missing] (J0)
  • errors::verify_parse_async_move_order_incorrect_61: pass -> [missing] (J0)
  • errors::verify_parse_async_use_block_in_2015_75: [missing] -> pass (J0)
  • errors::verify_parse_attribute_on_generic_arg_57: [missing] -> pass (J0)
  • errors::verify_parse_bad_assoc_type_bounds_145: [missing] -> pass (J0)
  • errors::verify_parse_bad_item_kind_156: pass -> [missing] (J0)
  • errors::verify_parse_box_not_pat_162: pass -> [missing] (J0)
  • errors::verify_parse_cannot_be_raw_ident_108: [missing] -> pass (J0)
  • errors::verify_parse_colon_as_semi_73: [missing] -> pass (J0)
  • errors::verify_parse_compound_assignment_expression_in_let_51: [missing] -> pass (J0)
  • errors::verify_parse_const_let_mutually_exclusive_49: pass -> [missing] (J0)
  • errors::verify_parse_cr_doc_comment_111: pass -> [missing] (J0)
  • errors::verify_parse_default_not_followed_by_item_79: pass -> [missing] (J0)
  • errors::verify_parse_default_not_followed_by_item_80: [missing] -> pass (J0)
  • errors::verify_parse_doc_comment_on_param_type_54: [missing] -> pass (J0)
  • errors::verify_parse_dotdotdot_rest_type_141: pass -> [missing] (J0)
  • errors::verify_parse_dyn_after_mut_138: [missing] -> pass (J0)
  • errors::verify_parse_empty_exponent_float_114: pass -> [missing] (J0)
  • errors::verify_parse_enum_struct_mutually_exclusive_93: pass -> [missing] (J0)
  • errors::verify_parse_expect_label_found_ident_153: [missing] -> pass (J0)
  • errors::verify_parse_expected_binding_left_of_at_122: [missing] -> pass (J0)
  • errors::verify_parse_expected_mut_or_const_in_raw_pointer_type_135: pass -> [missing] (J0)
  • errors::verify_parse_extern_item_cannot_be_const_91: [missing] -> pass (J0)
  • errors::verify_parse_fn_pointer_cannot_be_async_139: pass -> [missing] (J0)
  • errors::verify_parse_generic_args_in_pat_require_turbofish_syntax_169: pass -> [missing] (J0)
  • errors::verify_parse_inappropriate_default_154: [missing] -> pass (J0)
  • errors::verify_parse_inclusive_range_no_end_41: pass -> [missing] (J0)
  • errors::verify_parse_incorrect_visibility_restriction_45: pass -> [missing] (J0)
  • errors::verify_parse_maybe_fn_typo_with_impl_65: pass -> [missing] (J0)
  • errors::verify_parse_missing_const_type_92: pass -> [missing] (J0)
  • errors::verify_parse_modifiers_and_polarity_178: [missing] -> pass (J0)
  • errors::verify_parse_mut_on_nested_ident_pattern_123: pass -> [missing] (J0)
  • errors::verify_parse_nested_adt_161: pass -> [missing] (J0)
  • errors::verify_parse_nested_c_variadic_type_140: pass -> [missing] (J0)
  • errors::verify_parse_nonterminal_expected_statement_104: pass -> [missing] (J0)
  • errors::verify_parse_path_double_colon_70: pass -> [missing] (J0)
  • errors::verify_parse_path_found_attribute_in_params_70: [missing] -> pass (J0)
  • errors::verify_parse_return_types_use_thin_arrow_133: pass -> [missing] (J0)
  • errors::verify_parse_self_argument_pointer_76: pass -> [missing] (J0)
  • errors::verify_parse_single_colon_import_path_155: pass -> [missing] (J0)
  • errors::verify_parse_static_with_generics_169: [missing] -> pass (J0)
  • errors::verify_parse_unexpected_default_value_for_lifetime_in_generic_parameters_102: [missing] -> pass (J0)
  • errors::verify_parse_unexpected_token_after_struct_name_found_doc_comment_98: [missing] -> pass (J0)
  • errors::verify_parse_unexpected_token_after_struct_name_found_keyword_95: pass -> [missing] (J0)
  • errors::verify_parse_unexpected_token_after_struct_name_found_other_100: [missing] -> pass (J0)
  • errors::verify_parse_unmatched_angle_brackets_53: [missing] -> pass (J0)
  • errors::verify_parse_visibility_not_followed_by_item_79: [missing] -> pass (J0)

Stage 1

  • [crashes] tests/crashes/130104.rs: pass -> [missing] (J0)
  • [ui] tests/ui/consts/const-result-no-expect-suggestion.rs: [missing] -> pass (J0)
  • errors::verify_parse_asm_requires_template_182: [missing] -> pass (J1)
  • errors::verify_parse_assignment_else_not_allowed_46: pass -> [missing] (J1)
  • errors::verify_parse_async_move_order_incorrect_61: pass -> [missing] (J1)
  • errors::verify_parse_async_use_order_incorrect_62: pass -> [missing] (J1)
  • errors::verify_parse_attribute_on_empty_type_58: [missing] -> pass (J1)
  • errors::verify_parse_attribute_on_generic_arg_57: [missing] -> pass (J1)
  • errors::verify_parse_attribute_on_param_type_55: [missing] -> pass (J1)
  • errors::verify_parse_bounds_not_allowed_on_trait_aliases_87: [missing] -> pass (J1)
  • errors::verify_parse_cannot_be_raw_ident_107: pass -> [missing] (J1)
  • errors::verify_parse_colon_as_semi_72: pass -> [missing] (J1)
  • errors::verify_parse_compound_assignment_expression_in_let_51: [missing] -> pass (J1)
  • errors::verify_parse_cr_doc_comment_112: [missing] -> pass (J1)
  • errors::verify_parse_dot_dot_dot_for_remaining_fields_130: pass -> [missing] (J1)
  • errors::verify_parse_dot_dot_dot_for_remaining_fields_131: [missing] -> pass (J1)
  • errors::verify_parse_dotdotdot_rest_type_141: pass -> [missing] (J1)
  • errors::verify_parse_empty_exponent_float_114: pass -> [missing] (J1)
  • errors::verify_parse_enum_pattern_instead_of_identifier_128: [missing] -> pass (J1)
  • errors::verify_parse_expected_builtin_ident_168: [missing] -> pass (J1)
  • errors::verify_parse_expected_comma_after_pattern_field_131: pass -> [missing] (J1)
  • errors::verify_parse_expected_statement_after_outer_attr_47: pass -> [missing] (J1)
  • errors::verify_parse_extern_item_cannot_be_const_90: pass -> [missing] (J1)
  • errors::verify_parse_extra_impl_keyword_in_trait_impl_85: pass -> [missing] (J1)
  • errors::verify_parse_inappropriate_default_154: [missing] -> pass (J1)
  • errors::verify_parse_inclusive_range_match_arrow_41: [missing] -> pass (J1)
  • errors::verify_parse_lifetime_in_eq_constraint_149: pass -> [missing] (J1)
  • errors::verify_parse_maybe_fn_typo_with_impl_65: pass -> [missing] (J1)
  • errors::verify_parse_mismatched_closing_delimiter_44: pass -> [missing] (J1)
  • errors::verify_parse_mut_on_nested_ident_pattern_123: pass -> [missing] (J1)
  • errors::verify_parse_mut_on_nested_ident_pattern_124: [missing] -> pass (J1)
  • errors::verify_parse_no_digits_literal_113: [missing] -> pass (J1)
  • errors::verify_parse_non_string_abi_literal_43: pass -> [missing] (J1)
  • errors::verify_parse_non_string_abi_literal_44: [missing] -> pass (J1)
  • errors::verify_parse_pattern_method_param_without_body_58: pass -> [missing] (J1)
  • errors::verify_parse_pattern_method_param_without_body_59: [missing] -> pass (J1)
  • errors::verify_parse_return_types_use_thin_arrow_133: pass -> [missing] (J1)
  • errors::verify_parse_self_argument_pointer_77: [missing] -> pass (J1)
  • errors::verify_parse_unexpected_const_in_generic_param_61: [missing] -> pass (J1)
  • errors::verify_parse_unexpected_token_after_struct_name_found_keyword_96: [missing] -> pass (J1)
  • errors::verify_parse_unexpected_token_after_struct_name_found_other_99: pass -> [missing] (J1)
  • errors::verify_parse_unexpected_token_after_struct_name_found_reserved_identifier_94: pass -> [missing] (J1)
  • errors::verify_parse_unexpected_token_after_struct_name_found_reserved_identifier_95: [missing] -> pass (J1)
  • errors::verify_parse_unexpected_vert_vert_before_function_parameter_117: pass -> [missing] (J1)
  • errors::verify_parse_unmatched_angle_163: pass -> [missing] (J1)
  • errors::verify_parse_visibility_not_followed_by_item_79: [missing] -> pass (J1)
  • errors::verify_parse_where_generics_147: pass -> [missing] (J1)

Stage 2

  • [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/infer.rs: [missing] -> pass (J2)
  • [ui] tests/ui/traits/error-reporting/leaking-vars-in-cause-code-1.rs: [missing] -> pass (J2)
  • [ui] tests/ui/traits/error-reporting/leaking-vars-in-cause-code-2.rs: [missing] -> pass (J2)
  • [crashes] tests/crashes/130104.rs: pass -> [missing] (J3)

(and 512 additional test diffs)

Additionally, 330 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 a463b0e2ee07b232221afd8475bc8f4d7d474609 --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. aarch64-apple: 8988.7s -> 10767.6s (+19.8%)
  2. aarch64-gnu-llvm-20-2: 2208.2s -> 2615.4s (+18.4%)
  3. i686-gnu-nopt-1: 7270.2s -> 8336.4s (+14.7%)
  4. aarch64-msvc-2: 4858.5s -> 5569.8s (+14.6%)
  5. x86_64-gnu-llvm-20: 2593.1s -> 2963.7s (+14.3%)
  6. x86_64-gnu-llvm-20-3: 5577.7s -> 6365.9s (+14.1%)
  7. x86_64-gnu-gcc: 2994.1s -> 3401.4s (+13.6%)
  8. dist-x86_64-musl: 8435.9s -> 7294.4s (-13.5%)
  9. armhf-gnu: 4855.2s -> 5473.6s (+12.7%)
  10. x86_64-gnu-stable: 6874.4s -> 7741.4s (+12.6%)
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 (a463b0e): comparison URL.

Overall result: ❌✅ regressions and 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.4% [0.3%, 0.5%] 2
Improvements ✅
(primary)
-1.0% [-1.0%, -1.0%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.0% [-1.0%, -1.0%] 1

Max RSS (memory usage)

Results (primary -3.5%, secondary -2.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)
-3.5% [-4.1%, -2.9%] 2
Improvements ✅
(secondary)
-2.1% [-2.2%, -2.0%] 2
All ❌✅ (primary) -3.5% [-4.1%, -2.9%] 2

Cycles

Results (secondary 4.0%)

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

Binary size

Results (primary -0.8%)

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

Bootstrap: 471.488s -> 471.474s (-0.00%)
Artifact size: 386.96 MiB -> 386.95 MiB (-0.00%)

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.

ICE: no entry found for key in compiler/rustc_ast_lowering/src/expr.rs