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!
Fix indent in E0591.md

It currently looks like this.

<img width="1389" height="595" alt="image" src="https://github.com/user-attachments/assets/5336eebd-42a6-43c6-9127-9278cd82a9c2" />

https://doc.rust-lang.org/nightly/error_codes/E0591.html

So I can't run it, and the copied code has `#` in front.
…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