Skip to content

Rollup of 15 pull requests #145600

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 39 commits into from
Aug 19, 2025
Merged

Rollup of 15 pull requests #145600

merged 39 commits into from
Aug 19, 2025

Conversation

jieyouxu
Copy link
Member

@jieyouxu jieyouxu commented Aug 19, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lcnr and others added 30 commits August 13, 2025 08:53
PR 130999 added the file_lock feature, but doesn't included OpenBSD in the supported targets (Tier 3 platform), leading to a compilation error ("try_lock() not supported").
…mpiler-errors

actually provide the correct args to coroutine witnesses

rust-lang#145194 accidentally provided all arguments of the closure to the witness, but the witness only takes the generic parameters of the defining scope: https://github.com/rust-lang/rust/blob/216cdb7b22b637cef75b7225c642cb7587192643/compiler/rustc_hir_typeck/src/closure.rs#L164

Fixes rust-lang#145288
…ts, r=jdonszelmann

Couple of codegen_fn_attrs improvements

As noted in rust-lang#144678 (comment) here is no need to keep link_name and export_name separate, which the third commit fixes by merging them. The second commit removes some dead code and the first commit merges two ifs with equivalent conditions. The last commit is an unrelated change which removes an unused `feature(autodiff)`.
Do not strip binaries in bootstrap everytime if they are unchanged

I was profiling bootstrap to figure out why a no-op build takes upward of two seconds on my machine. I found that half of that is Cargo (which is mostly unavoidable) and the rest (~900ms) is running strip. We don't need to restrip already stripped binaries all the time.

r? `@jieyouxu`
…string_new, r=ibraheemdev

Stabilize `const_pathbuf_osstring_new` feature

This closes [tracking issue](rust-lang#141520) and stabilises `{OsString, PathBuf}::new` in const
…1-dead

Properly recover from parenthesized use-bounds (precise capturing lists) plus small cleanups

Fixes rust-lang#145470.

First commit fixes the issue, second one performs some desperately needed cleanups.

The fix shouldn't be a breaking change because IINM the parser always ensures that all brackets are balanced (via a buffer of brackets). Meaning even though we used to accept `(use<>` as a valid precise capturing list, it was guaranteed that we would fail in the end.
Fix `unicode_data.rs` mention message

The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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 Aug 19, 2025
@jieyouxu
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Aug 19, 2025

📌 Commit 4090d98 has been approved by jieyouxu

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 Aug 19, 2025
@jieyouxu
Copy link
Member Author

@bors try jobs=test-various,x86_64-msvc-1

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Aug 19, 2025
Rollup of 15 pull requests

try-job: test-various
try-job: x86_64-msvc-1
@rust-bors
Copy link

rust-bors bot commented Aug 19, 2025

☀️ Try build successful (CI)
Build commit: 24b028b (24b028b6ff2da8cd188a7d7bf18232a5ac75d66f, parent: 8365fcb2b840c95eeb0bc377af8bd498fad22245)

@bors
Copy link
Collaborator

bors commented Aug 19, 2025

⌛ Testing commit 4090d98 with merge 05f5a58...

@bors
Copy link
Collaborator

bors commented Aug 19, 2025

☀️ Test successful - checks-actions
Approved by: jieyouxu
Pushing 05f5a58 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 19, 2025
@bors bors merged commit 05f5a58 into rust-lang:master Aug 19, 2025
12 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Aug 19, 2025
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 16ad385 (parent) -> 05f5a58 (this PR)

Test differences

Show 239 test diffs

Stage 1

  • errors::verify_passes_abi_invalid_attribute_93: [missing] -> pass (J0)
  • errors::verify_passes_abi_invalid_attribute_94: pass -> [missing] (J0)
  • errors::verify_passes_abi_ne_93: pass -> [missing] (J0)
  • errors::verify_passes_abi_of_91: [missing] -> pass (J0)
  • errors::verify_passes_abi_of_92: pass -> [missing] (J0)
  • errors::verify_passes_attr_application_enum_106: pass -> [missing] (J0)
  • errors::verify_passes_attr_application_struct_enum_union_108: [missing] -> pass (J0)
  • errors::verify_passes_attr_application_struct_enum_union_109: pass -> [missing] (J0)
  • errors::verify_passes_attr_application_struct_union_108: pass -> [missing] (J0)
  • errors::verify_passes_attr_only_in_functions_97: [missing] -> pass (J0)
  • errors::verify_passes_cannot_stabilize_deprecated_112: [missing] -> pass (J0)
  • errors::verify_passes_collapse_debuginfo_74: [missing] -> pass (J0)
  • errors::verify_passes_const_stable_not_stable_122: [missing] -> pass (J0)
  • errors::verify_passes_const_stable_not_stable_123: pass -> [missing] (J0)
  • errors::verify_passes_custom_mir_incompatible_dialect_and_phase_145: pass -> [missing] (J0)
  • errors::verify_passes_custom_mir_phase_requires_dialect_143: [missing] -> pass (J0)
  • errors::verify_passes_custom_mir_phase_requires_dialect_144: pass -> [missing] (J0)
  • errors::verify_passes_debug_visualizer_invalid_59: [missing] -> pass (J0)
  • errors::verify_passes_debug_visualizer_placement_59: pass -> [missing] (J0)
  • errors::verify_passes_debug_visualizer_unreadable_60: [missing] -> pass (J0)
  • errors::verify_passes_debug_visualizer_unreadable_61: pass -> [missing] (J0)
  • errors::verify_passes_deprecated_annotation_has_no_effect_75: [missing] -> pass (J0)
  • errors::verify_passes_deprecated_attribute_111: pass -> [missing] (J0)
  • errors::verify_passes_duplicate_diagnostic_item_in_crate_84: [missing] -> pass (J0)
  • errors::verify_passes_duplicate_diagnostic_item_in_crate_85: pass -> [missing] (J0)
  • errors::verify_passes_duplicate_feature_err_120: [missing] -> pass (J0)
  • errors::verify_passes_extern_main_99: [missing] -> pass (J0)
  • errors::verify_passes_feature_previously_declared_97: pass -> [missing] (J0)
  • errors::verify_passes_implied_feature_not_exist_119: [missing] -> pass (J0)
  • errors::verify_passes_incorrect_crate_type_101: [missing] -> pass (J0)
  • errors::verify_passes_incorrect_crate_type_102: pass -> [missing] (J0)
  • errors::verify_passes_incorrect_target_100: [missing] -> pass (J0)
  • errors::verify_passes_ineffective_unstable_impl_130: [missing] -> pass (J0)
  • errors::verify_passes_ineffective_unstable_impl_131: pass -> [missing] (J0)
  • errors::verify_passes_invalid_macro_export_arguments_too_many_items_67: [missing] -> pass (J0)
  • errors::verify_passes_invalid_macro_export_arguments_too_many_items_68: pass -> [missing] (J0)
  • errors::verify_passes_lang_item_fn_with_target_feature_81: [missing] -> pass (J0)
  • errors::verify_passes_lang_item_fn_with_target_feature_82: pass -> [missing] (J0)
  • errors::verify_passes_lang_item_fn_with_track_caller_81: pass -> [missing] (J0)
  • errors::verify_passes_lang_item_on_incorrect_target_82: [missing] -> pass (J0)
  • errors::verify_passes_lang_item_on_incorrect_target_83: pass -> [missing] (J0)
  • errors::verify_passes_layout_abi_85: [missing] -> pass (J0)
  • errors::verify_passes_layout_abi_86: pass -> [missing] (J0)
  • errors::verify_passes_layout_invalid_attribute_90: [missing] -> pass (J0)
  • errors::verify_passes_layout_of_90: pass -> [missing] (J0)
  • errors::verify_passes_layout_size_88: pass -> [missing] (J0)
  • errors::verify_passes_link_48: pass -> [missing] (J0)
  • errors::verify_passes_macro_export_64: [missing] -> pass (J0)
  • errors::verify_passes_macro_only_attribute_57: [missing] -> pass (J0)
  • errors::verify_passes_macro_only_attribute_58: pass -> [missing] (J0)
  • errors::verify_passes_missing_const_err_121: [missing] -> pass (J0)
  • errors::verify_passes_missing_const_stab_attr_116: pass -> [missing] (J0)
  • errors::verify_passes_missing_panic_handler_77: [missing] -> pass (J0)
  • errors::verify_passes_missing_stability_attr_114: [missing] -> pass (J0)
  • errors::verify_passes_missing_stability_attr_115: pass -> [missing] (J0)
  • errors::verify_passes_multiple_rustc_main_99: pass -> [missing] (J0)
  • errors::verify_passes_must_not_suspend_46: [missing] -> pass (J0)
  • errors::verify_passes_must_not_suspend_47: pass -> [missing] (J0)
  • errors::verify_passes_must_use_no_effect_46: pass -> [missing] (J0)
  • errors::verify_passes_no_link_49: pass -> [missing] (J0)
  • errors::verify_passes_non_exported_macro_invalid_attrs_68: [missing] -> pass (J0)
  • errors::verify_passes_object_lifetime_err_105: pass -> [missing] (J0)
  • errors::verify_passes_proc_macro_bad_sig_123: [missing] -> pass (J0)
  • errors::verify_passes_proc_macro_bad_sig_124: pass -> [missing] (J0)
  • errors::verify_passes_repr_align_greater_than_target_max_56: pass -> [missing] (J0)
  • errors::verify_passes_repr_align_should_be_align_142: [missing] -> pass (J0)
  • errors::verify_passes_repr_align_should_be_align_143: pass -> [missing] (J0)
  • errors::verify_passes_rustc_allow_const_fn_unstable_62: pass -> [missing] (J0)
  • errors::verify_passes_rustc_legacy_const_generics_index_exceed_51: [missing] -> pass (J0)
  • errors::verify_passes_rustc_legacy_const_generics_index_exceed_52: pass -> [missing] (J0)
  • errors::verify_passes_rustc_legacy_const_generics_index_negative_53: pass -> [missing] (J0)
  • errors::verify_passes_rustc_legacy_const_generics_only_49: [missing] -> pass (J0)
  • errors::verify_passes_rustc_legacy_const_generics_only_50: pass -> [missing] (J0)
  • errors::verify_passes_rustc_lint_opt_deny_field_access_74: pass -> [missing] (J0)
  • errors::verify_passes_rustc_pub_transparent_62: [missing] -> pass (J0)
  • errors::verify_passes_rustc_pub_transparent_63: pass -> [missing] (J0)
  • errors::verify_passes_trait_impl_const_stable_117: pass -> [missing] (J0)
  • errors::verify_passes_transparent_incompatible_110: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_adt_with_private_fields_142: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_fn_abi_137: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_fn_abi_138: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_item_136: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_priv_item_140: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_type_repr_138: [missing] -> pass (J0)
  • errors::verify_passes_unknown_external_lang_item_77: pass -> [missing] (J0)
  • errors::verify_passes_unknown_feature_118: pass -> [missing] (J0)
  • errors::verify_passes_unknown_lang_item_83: [missing] -> pass (J0)
  • errors::verify_passes_unnecessary_stable_feature_128: [missing] -> pass (J0)
  • errors::verify_passes_unreachable_due_to_uninhabited_125: pass -> [missing] (J0)
  • errors::verify_passes_unrecognized_argument_94: [missing] -> pass (J0)
  • errors::verify_passes_unstable_attr_for_already_stable_feature_113: [missing] -> pass (J0)
  • errors::verify_passes_unsupported_attributes_in_where_134: [missing] -> pass (J0)
  • errors::verify_passes_unsupported_attributes_in_where_135: pass -> [missing] (J0)
  • errors::verify_passes_unused_capture_maybe_capture_ref_127: pass -> [missing] (J0)
  • errors::verify_passes_useless_assignment_102: [missing] -> pass (J0)
  • errors::verify_passes_useless_assignment_103: pass -> [missing] (J0)
  • [ui] tests/ui/async-await/recursive-async-auto-trait-overflow-only-parent-args.rs: [missing] -> pass (J2)
  • [ui] tests/ui/impl-trait/precise-capturing/parenthesized.rs: [missing] -> pass (J2)
  • [ui] tests/ui/traits/negative-bounds/negative-metasized.rs#current: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/traits/negative-bounds/negative-metasized.rs#next: [missing] -> pass (J1)

(and 107 additional test diffs)

Additionally, 32 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 05f5a58e84a9c3a68586d70bf3d7442c571e379e --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. x86_64-apple-2: 6756.9s -> 5791.6s (-14.3%)
  2. dist-loongarch64-musl: 5780.0s -> 5121.0s (-11.4%)
  3. tidy: 210.8s -> 186.8s (-11.4%)
  4. dist-aarch64-windows-gnullvm: 4535.2s -> 4983.9s (9.9%)
  5. i686-gnu-1: 8995.3s -> 8218.4s (-8.6%)
  6. aarch64-msvc-2: 4825.4s -> 5218.1s (8.1%)
  7. dist-powerpc64le-linux-musl: 5780.0s -> 5338.3s (-7.6%)
  8. aarch64-gnu-debug: 4482.4s -> 4808.6s (7.3%)
  9. dist-aarch64-apple: 6632.4s -> 7113.0s (7.2%)
  10. x86_64-gnu-aux: 6315.5s -> 6770.0s (7.2%)
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.

@jieyouxu jieyouxu deleted the rollup-jw0bpnt branch August 19, 2025 23:15
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#145338 actually provide the correct args to coroutine witnesses 6ff35da4308d14f10448c73ddf3ad9a7e0f8d2ec (link)
#145429 Couple of codegen_fn_attrs improvements e631ee5e4c7e54baaa5becc7c4a5d0fb6dfde6fb (link)
#145452 Do not strip binaries in bootstrap everytime if they are un… 16325b1e59a7745f7a5e4cc6da4e19db6612887c (link)
#145464 Stabilize const_pathbuf_osstring_new feature 27d58eb8ae3b24d2b34cd5078a653a9da4033395 (link)
#145474 Properly recover from parenthesized use-bounds (precise cap… 6fbe92fa93cfcbf380fe5f96f0a52ae28d361b88 (link)
#145486 Fix unicode_data.rs mention message 52b62cc3134a1bc11e232b5ce19de26411139586 (link)
#145490 Trace some basic I/O operations in bootstrap e05cc17bef37f725ff3907dea81abcdd2bd59e9c (link)
#145493 remove should_render in PrintAttribute derive c2157014bdd2fe6edf26b6ae67f6c376cd531fc5 (link)
#145500 Port must_use to the new target checking dc5c9d21385c6bcc938887821b4161b389f9170a (link)
#145505 Simplify span caches 3f8fe121e37b09c6bb053c57cc68b09be06fb7e2 (link)
#145510 Visit and print async_fut local for async drop. 025e72998567a6d19aef80a3d1e9877a052ab90e (link)
#145511 Rust build fails on OpenBSD after using file_lock feature 518efc2bccad4272be008beafaa827de16f42b06 (link)
#145532 resolve: debug for block module df1c6aca8521ce2de3942141379dd26242123921 (link)
#145533 Reorder lto options from most to least optimizing e4425f9031ffda3452e6219cc123cd4afc107bcc (link)
#145537 Do not consider a T: !Sized candidate to satisfy a `T: !M… 42837d5f0b8dc468ad4b542bbf5b6c5d36ae6327 (link)

previous master: 16ad385579

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (05f5a58): comparison URL.

Overall result: ❌ regressions - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

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

Max RSS (memory usage)

Results (primary -0.9%, secondary -2.7%)

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

mean range count
Regressions ❌
(primary)
1.3% [1.3%, 1.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-3.1% [-3.1%, -3.1%] 1
Improvements ✅
(secondary)
-2.7% [-3.2%, -2.3%] 2
All ❌✅ (primary) -0.9% [-3.1%, 1.3%] 2

Cycles

Results (primary 3.3%, secondary 5.0%)

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

mean range count
Regressions ❌
(primary)
3.3% [2.3%, 4.3%] 2
Regressions ❌
(secondary)
5.0% [5.0%, 5.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 3.3% [2.3%, 4.3%] 2

Binary size

Results (primary -0.0%, secondary -0.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.0% [-0.1%, -0.0%] 65
Improvements ✅
(secondary)
-0.1% [-0.3%, -0.0%] 59
All ❌✅ (primary) -0.0% [-0.1%, -0.0%] 65

Bootstrap: 471.488s -> 472.158s (0.14%)
Artifact size: 378.23 MiB -> 378.09 MiB (-0.04%)

@rustbot rustbot added the perf-regression Performance regression. label Aug 20, 2025
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Aug 20, 2025
Rollup of 15 pull requests

Successful merges:

 - rust-lang#145338 (actually provide the correct args to coroutine witnesses)
 - rust-lang#145429 (Couple of codegen_fn_attrs improvements)
 - rust-lang#145452 (Do not strip binaries in bootstrap everytime if they are unchanged)
 - rust-lang#145464 (Stabilize `const_pathbuf_osstring_new` feature)
 - rust-lang#145474 (Properly recover from parenthesized use-bounds (precise capturing lists) plus small cleanups)
 - rust-lang#145486 (Fix `unicode_data.rs` mention message)
 - rust-lang#145490 (Trace some basic I/O operations in bootstrap)
 - rust-lang#145493 (remove `should_render` in `PrintAttribute` derive)
 - rust-lang#145500 (Port must_use to the new target checking)
 - rust-lang#145505 (Simplify span caches)
 - rust-lang#145510 (Visit and print async_fut local for async drop.)
 - rust-lang#145511 (Rust build fails on OpenBSD after using file_lock feature)
 - rust-lang#145532 (resolve: debug for block module)
 - rust-lang#145533 (Reorder `lto` options from most to least optimizing)
 - rust-lang#145537 (Do not consider a `T: !Sized` candidate to satisfy a `T: !MetaSized` obligation.)

r? `@ghost`
`@rustbot` modify labels: rollup
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. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustc-dev-guide Area: rustc-dev-guide merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. 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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.