Skip to content

Conversation

@matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

Randl and others added 21 commits December 12, 2025 06:31
- Using the implementation from sys::fs::common since ther is no
  built-in copy implementation in UEFI.
- Tested with OVMF on QEMU.

Signed-off-by: Ayush Singh <[email protected]>
Add const cloning of slices and tests

As discussed in rust-lang#143628 (comment), splitting off slice cloning as a separate PR.
r? @tgross35
…Denton

Add freeze file times on Windows

This PR add two new methods on [OpenOptionsExt](https://doc.rust-lang.org/stable/std/os/windows/fs/trait.OpenOptionsExt.html) in order to not change the "last access time" and "last write time" of the file on Windows.

- Tracking Issue: rust-lang#149715
- ACP: rust-lang/libs-team#708
…ratrieb

Remove mentions of debootstrap and chroots from the m68k-unknown-none-elf platform support doc

I left the mentions of qemu-user-static as it's one of the only easily accessible emulators for m68k, even though you would have to write your own `_start` and such. The C toolchain that is mentioned is also the easiest way I've found so far to get a linker, which is still needed unless I'm missing something.

closes rust-lang#150414

r? @Noratrieb
…Kivooeo,tgross35

feat: invisible character help string

I was playing around with zero width spaces in different programming languages and thought that this error message could be more helpful. Hopefully it's a good first contribution! :)
Simplify `#[eii]` macro using methods on ecx
Port `#[collapse_debuginfo]` to the new attribute parsing system

Tracking issue: rust-lang#131229

Felt like doing one again, has been a while :3

r? @jdonszelmann
std: sys: fs: uefi: Implement copy

- Using the implementation from sys::fs::common since ther is no built-in copy implementation in UEFI.
- Tested with OVMF on QEMU.

@rustbot label +O-UEFI
Completely list all unparsed attributes

Also introduce a `SPECIAL_ATTRIBUTES` list, since `cfg` was incorrectly being detected as an unparsed attribute in `check_attr`.

I will also update rust-lang#131229 (comment)

r? @jdonszelmann
…ca, r=fmease

ui: add test for normalizing const projections with assoc const equality

This adds a UI test to associated-const-bindings (created new) directory to  ensure that constant projections with associated const equality bounds are correctly normalized.

File added:
- `tests/ui/const-generics/associated-const-bindings/normalization-via-param-env.rs`

r? @fmease
r? @camelid

Fixes rust-lang#120905
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Jan 11, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) O-windows Operating system: Windows 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. labels Jan 11, 2026
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

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

rust-bors bot commented Jan 11, 2026

📌 Commit c31e68f has been approved by matthiaskrgr

It is now in the queue for this repository.

@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 840245e to main...

@rust-bors rust-bors bot merged commit 840245e 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
#147938 Add const cloning of slices and tests 9d2fc186b7f850caf6c1d6fde448301778334e70 (link)
#149718 Add freeze file times on Windows a445bf8199f551ec81c6614c9bc1a3d5253d786d (link)
#150438 Remove mentions of debootstrap and chroots from the m68k-un… 9cd79df5d059b2f32b4527d2aa328d391076327d (link)
#150790 feat: invisible character help string 1b7712c35c6a8ba2e02340191061cea6dd36831d (link)
#150906 Simplify #[eii] macro using methods on ecx 99c72cb1b7aff9f8b06f71852b4332da3974fd4d (link)
#150938 Port #[collapse_debuginfo] to the new attribute parsing s… 0ea452838d14d4e317c3688196d4586f5d3bd4df (link)
#150953 std: sys: fs: uefi: Implement copy 39b49549c8f48de8bc87137389583eb07e1e28a6 (link)
#150964 Completely list all unparsed attributes 0016b0f341c07d815dee29d16c611fab72c831c6 (link)
#150975 ui: add test for normalizing const projections with assoc c… b392bb4559a8611b3013fcf4e0cc43758785aaf6 (link)

previous master: 44a5b55557

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 44a5b55 (parent) -> 840245e (this PR)

Test differences

Show 1064 test diffs

Stage 0

  • errors::metavar_exprs::verify_expand_mve_unrecognized_var_42: [missing] -> pass (J0)
  • errors::verify_expand_empty_delegation_mac_34: pass -> [missing] (J0)
  • errors::verify_expand_expected_paren_or_brace_33: pass -> [missing] (J0)
  • errors::verify_expand_feature_not_allowed_12: [missing] -> pass (J0)
  • errors::verify_expand_glob_delegation_outside_impls_35: pass -> [missing] (J0)
  • errors::verify_expand_invalid_cfg_multiple_predicates_18: pass -> [missing] (J0)
  • errors::verify_expand_invalid_fragment_specifier_32: pass -> [missing] (J0)
  • errors::verify_expand_macro_const_stability_11: pass -> [missing] (J0)
  • errors::verify_expand_module_circular_23: [missing] -> pass (J0)
  • errors::verify_expand_module_file_not_found_25: pass -> [missing] (J0)
  • errors::verify_expand_proc_macro_derive_tokens_28: pass -> [missing] (J0)
  • errors::verify_expand_unsupported_key_value_21: pass -> [missing] (J0)
  • errors::verify_expand_unused_builtin_attribute_47: pass -> [missing] (J0)
  • errors::verify_expand_wrong_fragment_kind_19: [missing] -> pass (J0)
  • errors::verify_passes_abi_ne_60: pass -> [missing] (J0)
  • errors::verify_passes_abi_of_58: [missing] -> pass (J0)
  • errors::verify_passes_attr_application_enum_72: pass -> [missing] (J0)
  • errors::verify_passes_const_stable_not_stable_87: [missing] -> pass (J0)
  • errors::verify_passes_const_stable_not_stable_88: pass -> [missing] (J0)
  • errors::verify_passes_custom_mir_incompatible_dialect_and_phase_107: pass -> [missing] (J0)
  • errors::verify_passes_custom_mir_phase_requires_dialect_106: pass -> [missing] (J0)
  • errors::verify_passes_deprecated_annotation_has_no_effect_42: [missing] -> pass (J0)
  • errors::verify_passes_duplicate_diagnostic_item_in_crate_52: pass -> [missing] (J0)
  • errors::verify_passes_duplicate_feature_err_86: pass -> [missing] (J0)
  • errors::verify_passes_feature_stable_twice_62: [missing] -> pass (J0)
  • errors::verify_passes_function_not_have_default_implementation_112: pass -> [missing] (J0)
  • errors::verify_passes_incorrect_crate_type_67: [missing] -> pass (J0)
  • errors::verify_passes_incorrect_target_66: [missing] -> pass (J0)
  • errors::verify_passes_lang_item_fn_with_track_caller_47: [missing] -> pass (J0)
  • errors::verify_passes_layout_align_53: [missing] -> pass (J0)
  • errors::verify_passes_layout_homogeneous_aggregate_55: [missing] -> pass (J0)
  • errors::verify_passes_layout_of_56: [missing] -> pass (J0)
  • errors::verify_passes_layout_size_54: [missing] -> pass (J0)
  • errors::verify_passes_missing_const_err_86: [missing] -> pass (J0)
  • errors::verify_passes_missing_const_err_87: pass -> [missing] (J0)
  • errors::verify_passes_missing_const_stab_attr_82: pass -> [missing] (J0)
  • errors::verify_passes_missing_lang_item_46: [missing] -> pass (J0)
  • errors::verify_passes_missing_panic_handler_45: pass -> [missing] (J0)
  • errors::verify_passes_missing_stability_attr_81: pass -> [missing] (J0)
  • errors::verify_passes_multiple_rustc_main_64: [missing] -> pass (J0)
  • errors::verify_passes_trait_impl_const_stable_83: pass -> [missing] (J0)
  • errors::verify_passes_transparent_incompatible_76: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_fn_abi_99: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_generic_fn_98: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_item_97: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_priv_item_102: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_type_repr_99: [missing] -> pass (J0)
  • errors::verify_passes_unknown_external_lang_item_44: pass -> [missing] (J0)
  • errors::verify_passes_unnecessary_partial_stable_feature_91: pass -> [missing] (J0)
  • errors::verify_passes_unsupported_attributes_in_where_95: [missing] -> pass (J0)
  • errors::verify_passes_useless_assignment_69: pass -> [missing] (J0)

Stage 1

  • errors::metavar_exprs::verify_expand_mve_extra_tokens_40: pass -> [missing] (J1)
  • errors::metavar_exprs::verify_expand_mve_unrecognized_expr_41: [missing] -> pass (J1)
  • errors::verify_expand_invalid_cfg_multiple_predicates_17: [missing] -> pass (J1)
  • errors::verify_expand_invalid_cfg_no_parens_15: [missing] -> pass (J1)
  • errors::verify_expand_invalid_fragment_specifier_31: [missing] -> pass (J1)
  • errors::verify_expand_macro_const_stability_11: pass -> [missing] (J1)
  • errors::verify_expand_missing_fragment_specifier_31: pass -> [missing] (J1)
  • errors::verify_expand_module_file_not_found_25: pass -> [missing] (J1)
  • errors::verify_expand_proc_macro_back_compat_38: [missing] -> pass (J1)
  • errors::verify_expand_remove_expr_not_supported_14: [missing] -> pass (J1)
  • errors::verify_expand_remove_expr_not_supported_15: pass -> [missing] (J1)
  • errors::verify_expand_trace_macro_27: pass -> [missing] (J1)
  • errors::verify_expand_trailing_semi_macro_45: [missing] -> pass (J1)
  • errors::verify_expand_unused_builtin_attribute_46: [missing] -> pass (J1)
  • errors::verify_expand_wrong_fragment_kind_20: pass -> [missing] (J1)
  • errors::verify_passes_abi_invalid_attribute_61: pass -> [missing] (J1)
  • errors::verify_passes_abi_ne_60: pass -> [missing] (J1)
  • errors::verify_passes_abi_of_58: [missing] -> pass (J1)
  • errors::verify_passes_attr_application_struct_enum_union_74: [missing] -> pass (J1)
  • errors::verify_passes_custom_mir_incompatible_dialect_and_phase_106: [missing] -> pass (J1)
  • errors::verify_passes_deprecated_attribute_76: [missing] -> pass (J1)
  • errors::verify_passes_duplicate_feature_err_85: [missing] -> pass (J1)
  • errors::verify_passes_feature_stable_twice_63: pass -> [missing] (J1)
  • errors::verify_passes_function_not_have_default_implementation_111: [missing] -> pass (J1)
  • errors::verify_passes_implied_feature_not_exist_84: [missing] -> pass (J1)
  • errors::verify_passes_incorrect_target_66: [missing] -> pass (J1)
  • errors::verify_passes_ineffective_unstable_impl_92: pass -> [missing] (J1)
  • errors::verify_passes_lang_item_fn_with_track_caller_48: pass -> [missing] (J1)
  • errors::verify_passes_lang_item_on_incorrect_target_50: pass -> [missing] (J1)
  • errors::verify_passes_layout_abi_52: [missing] -> pass (J1)
  • errors::verify_passes_layout_invalid_attribute_57: [missing] -> pass (J1)
  • errors::verify_passes_multiple_rustc_main_64: [missing] -> pass (J1)
  • errors::verify_passes_multiple_rustc_main_65: pass -> [missing] (J1)
  • errors::verify_passes_panic_unwind_without_std_45: [missing] -> pass (J1)
  • errors::verify_passes_proc_macro_bad_sig_88: [missing] -> pass (J1)
  • errors::verify_passes_rustc_const_stable_indirect_pairing_95: pass -> [missing] (J1)
  • errors::verify_passes_sanitize_attribute_not_allowed_94: pass -> [missing] (J1)
  • errors::verify_passes_trait_impl_const_stable_83: pass -> [missing] (J1)
  • errors::verify_passes_transparent_incompatible_76: pass -> [missing] (J1)
  • errors::verify_passes_unexportable_priv_item_101: [missing] -> pass (J1)
  • errors::verify_passes_unexportable_priv_item_102: pass -> [missing] (J1)
  • errors::verify_passes_unexportable_type_repr_99: [missing] -> pass (J1)
  • errors::verify_passes_unknown_feature_alias_83: [missing] -> pass (J1)
  • errors::verify_passes_unknown_feature_alias_84: pass -> [missing] (J1)
  • errors::verify_passes_unnecessary_stable_feature_89: [missing] -> pass (J1)
  • errors::verify_passes_unstable_attr_for_already_stable_feature_79: [missing] -> pass (J1)
  • errors::verify_passes_unsupported_attributes_in_where_96: pass -> [missing] (J1)
  • errors::verify_passes_useless_stability_77: [missing] -> pass (J1)
  • errors::verify_passes_useless_stability_78: pass -> [missing] (J1)

(and 342 additional test diffs)

Additionally, 622 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 840245e91b90f22adf9f26d0a0cd98c2416cdef3 --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: 6544.9s -> 7951.7s (+21.5%)
  2. dist-aarch64-apple: 6248.7s -> 7571.4s (+21.2%)
  3. tidy: 160.5s -> 180.1s (+12.2%)
  4. dist-aarch64-msvc: 5748.7s -> 6363.3s (+10.7%)
  5. x86_64-rust-for-linux: 2907.6s -> 3213.7s (+10.5%)
  6. aarch64-msvc-2: 5857.7s -> 6457.4s (+10.2%)
  7. x86_64-gnu-distcheck: 7479.0s -> 8208.5s (+9.8%)
  8. dist-sparcv9-solaris: 5273.9s -> 4878.5s (-7.5%)
  9. x86_64-msvc-1: 8921.6s -> 9569.7s (+7.3%)
  10. arm-android: 5797.0s -> 6208.1s (+7.1%)
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 (840245e): 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.0% [0.0%, 0.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.6%, -0.1%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -0.7%, 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)
2.3% [2.3%, 2.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-3.8% [-3.8%, -3.8%] 1
Improvements ✅
(secondary)
-3.1% [-3.5%, -2.6%] 2
All ❌✅ (primary) -0.7% [-3.8%, 2.3%] 2

Cycles

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

Binary size

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

Bootstrap: 473.154s -> 473.294s (0.03%)
Artifact size: 391.41 MiB -> 391.43 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 (`#[…]`, `#![…]`) merged-by-bors This PR was explicitly merged by bors. O-windows Operating system: Windows 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.