Skip to content

Rollup of 14 pull requests #142644

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 32 commits into from
Jun 18, 2025
Merged

Rollup of 14 pull requests #142644

merged 32 commits into from
Jun 18, 2025

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Jun 17, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

fee1-dead and others added 30 commits May 26, 2025 15:21
this is one-time initialization data, it can just
be a function parameter.

we also move the json parsing into createSrcSidebar
to save a few bytes.
This allows a more gradual transition path for projects that need to use
use the spec-complaint C ABI both with older and newer rustc versions.
…x, r=jhpratt

impl `Default` for `array::IntoIter`

cc rust-lang#91583

my personal use of this feature comes from https://github.com/fee1-dead/w/blob/092db5df631ea515b688bae99c7f02eef12d7221/src/cont.rs#L154-L170

insta-stable, but I feel like this is small enough to _not_ require an ACP (but a FCP per https://forge.rust-lang.org/libs/maintaining-std.html#when-theres-new-trait-impls)? feel free to correct me if I am wrong.
Add support for repetition to `proc_macro::quote`

Progress toward: rust-lang#140238
…67, r=GuillaumeGomez

rustdoc: make srcIndex no longer a global variable

this is one-time initialization data, it can just
be a function parameter.

while we're doing that, we can more the json parsing into the function and save a few extra bytes of storage for free, at least in the case of multiple crates in a doc bundle.

fixes rust-lang#138467
…s, r=petrochenkov

avoid `&mut P<T>` in `visit_expr` etc methods

trying a different way than rust-lang#141636
r? ghost
…lacrum

Windows: Use anonymous pipes in Command

When setting `Stdio::pipe` on `Command` we want to create an anonymous pipe that can be used asynchronously (at least on our end). Usually we'd use [`CreatePipe`](https://learn.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-createpipe) to open anonymous pipes but unfortunately it opens pipes for synchronous access. The alternative is to use [`CreateNamedPipeW`](https://learn.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-createnamedpipew) which does allow asynchronous access but that requires giving a file name to the pipe. So we currently have this awful hack where we attempt to emulate anonymous pipes using `CreateNamedPipeW` by attempting to create a unique name and looping until we find one that doesn't already exist.

The better option is to use the lower level [`NtCreateNamedPipeFile`](https://learn.microsoft.com/en-us/windows/win32/devnotes/nt-create-named-pipe-file) (which is used internally by both `CreatePipe` and `CreateNamedPipeW`). This function wasn't documented until a few years ago but now that it is it's ok for us to use it.

try-job: *msvc*
try-job: *mingw*
alloc: less static mut + some cleanup

I'm looking into rust-lang#125035 and would like some feedback on my approach.
Generic ctx imprv

Cleanup work for my gpu pr

r? `@oli-obk`
…li-obk

Don't unwrap in enzyme builds in case of missing llvm-config

r? `@onur-ozkan`

For some reason x.py was now panicking in this location, so I also removed the unwrap here.
part 2 of rust-lang#140000, there shouldn't be other locations where we check for llvm-config.
…rget-more-accurately, r=wesleywiser

Refresh module-level docs for `rustc_target::spec`

We have long since gone on a curveball from the flexible-target-specification RFC by introducing stability and soundness promises to the language and compiler which we often struggle with extending to target-specific implementation details. Indeed, we often *literally cannot*. We also have modified the search algorithm details. Update the comments for `rustc_target::spec` considerably.
…r=lolbinarycat

Lint about `console` calls in rustdoc JS

As discussed [here](rust-lang#142100 (comment)), this PR enforces that `console` is not used in rustdoc JS by default.

cc `@lolbinarycat`
… r=jhpratt

Remove a panicking branch in `BorrowedCursor::advance`
Dont suggest remove semi inside macro expansion for redundant semi lint

Fixes rust-lang#142143

r? compiler
jhpratt added 2 commits June 17, 2025 23:19
Update cargo

6 commits in fc1518ef02b77327d70d4026b95ea719dd9b8c51..2251525ae503fa196f6d7f9ce6d32eccb2d5f044
2025-06-06 04:49:44 +0000 to 2025-06-16 22:01:27 +0000
- feat: Add custom completer for `cargo remove &lt;TAB&gt;` (rust-lang/cargo#15662)
- chore(deps): update msrv (3 versions) to v1.85 (rust-lang/cargo#15668)
- refactor: replace InternedString with Cow in IndexPackage (rust-lang/cargo#15559)
- highlight the correct words (rust-lang/cargo#15659)
- CHANGELOG.md: typo (rust-lang/cargo#15660)
- Use `Not::not` rather than a custom `is_false` function (rust-lang/cargo#15645)
…orkingjubilee

Temporarily add back -Zwasm-c-abi=spec

This allows a more gradual transition path for projects that need to use use the spec-complaint C ABI both with older and newer rustc versions.
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-search Area: Rustdoc's search feature F-autodiff `#![feature(autodiff)]` O-windows Operating system: Windows 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Jun 17, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Jun 17, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jun 17, 2025

📌 Commit 3ec1451 has been approved by jhpratt

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 Jun 17, 2025
@bors
Copy link
Collaborator

bors commented Jun 18, 2025

⌛ Testing commit 3ec1451 with merge 77ec48f...

@bors
Copy link
Collaborator

bors commented Jun 18, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing 77ec48f to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 18, 2025
@bors bors merged commit 77ec48f into rust-lang:master Jun 18, 2025
11 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 18, 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 27eb269 (parent) -> 77ec48f (this PR)

Test differences

Show 147 test diffs

Stage 1

  • lints::verify_lint_ambiguous_glob_reexport_142: pass -> [missing] (J0)
  • lints::verify_lint_associated_const_elided_lifetime_144: [missing] -> pass (J0)
  • lints::verify_lint_atomic_ordering_fence_90: [missing] -> pass (J0)
  • lints::verify_lint_atomic_ordering_fence_91: pass -> [missing] (J0)
  • lints::verify_lint_atomic_ordering_invalid_91: [missing] -> pass (J0)
  • lints::verify_lint_atomic_ordering_invalid_92: pass -> [missing] (J0)
  • lints::verify_lint_atomic_ordering_load_88: [missing] -> pass (J0)
  • lints::verify_lint_atomic_ordering_load_89: pass -> [missing] (J0)
  • lints::verify_lint_atomic_ordering_store_89: [missing] -> pass (J0)
  • lints::verify_lint_avoid_att_syntax_112: [missing] -> pass (J0)
  • lints::verify_lint_avoid_intel_syntax_112: pass -> [missing] (J0)
  • lints::verify_lint_byte_slice_in_packed_struct_with_derive_139: pass -> [missing] (J0)
  • lints::verify_lint_cfg_attr_no_attributes_116: [missing] -> pass (J0)
  • lints::verify_lint_custom_inner_attribute_unstable_125: pass -> [missing] (J0)
  • lints::verify_lint_duplicate_matcher_binding_119: [missing] -> pass (J0)
  • lints::verify_lint_duplicate_matcher_binding_120: pass -> [missing] (J0)
  • lints::verify_lint_extern_without_abi_129: pass -> [missing] (J0)
  • lints::verify_lint_hidden_glob_reexport_142: [missing] -> pass (J0)
  • lints::verify_lint_hidden_glob_reexport_143: pass -> [missing] (J0)
  • lints::verify_lint_ill_formed_attribute_input_122: [missing] -> pass (J0)
  • lints::verify_lint_ill_formed_attribute_input_123: pass -> [missing] (J0)
  • lints::verify_lint_incomplete_include_113: [missing] -> pass (J0)
  • lints::verify_lint_incomplete_include_114: pass -> [missing] (J0)
  • lints::verify_lint_inner_macro_attribute_unstable_123: [missing] -> pass (J0)
  • lints::verify_lint_inner_macro_attribute_unstable_124: pass -> [missing] (J0)
  • lints::verify_lint_invalid_asm_label_binary_102: [missing] -> pass (J0)
  • lints::verify_lint_invalid_asm_label_binary_103: pass -> [missing] (J0)
  • lints::verify_lint_invalid_asm_label_format_arg_101: [missing] -> pass (J0)
  • lints::verify_lint_invalid_asm_label_format_arg_102: pass -> [missing] (J0)
  • lints::verify_lint_invalid_asm_label_named_101: pass -> [missing] (J0)
  • lints::verify_lint_legacy_derive_helpers_129: [missing] -> pass (J0)
  • lints::verify_lint_legacy_derive_helpers_130: pass -> [missing] (J0)
  • lints::verify_lint_macro_expanded_macro_exports_accessed_by_absolute_paths_126: [missing] -> pass (J0)
  • lints::verify_lint_macro_expanded_macro_exports_accessed_by_absolute_paths_127: pass -> [missing] (J0)
  • lints::verify_lint_macro_is_private_108: [missing] -> pass (J0)
  • lints::verify_lint_macro_is_private_109: pass -> [missing] (J0)
  • lints::verify_lint_macro_rule_never_used_111: pass -> [missing] (J0)
  • lints::verify_lint_macro_use_deprecated_104: [missing] -> pass (J0)
  • lints::verify_lint_macro_use_deprecated_105: pass -> [missing] (J0)
  • lints::verify_lint_metavariable_still_repeating_117: [missing] -> pass (J0)
  • lints::verify_lint_metavariable_wrong_operator_118: [missing] -> pass (J0)
  • lints::verify_lint_metavariable_wrong_operator_119: pass -> [missing] (J0)
  • lints::verify_lint_missing_unsafe_on_extern_135: [missing] -> pass (J0)
  • lints::verify_lint_missing_unsafe_on_extern_136: pass -> [missing] (J0)
  • lints::verify_lint_named_argument_used_positionally_137: [missing] -> pass (J0)
  • lints::verify_lint_named_argument_used_positionally_138: pass -> [missing] (J0)
  • lints::verify_lint_only_cast_u8_to_char_82: [missing] -> pass (J0)
  • lints::verify_lint_only_cast_u8_to_char_83: pass -> [missing] (J0)
  • lints::verify_lint_or_patterns_back_compat_131: pass -> [missing] (J0)
  • lints::verify_lint_out_of_scope_macro_calls_146: [missing] -> pass (J0)
  • lints::verify_lint_overflowing_literal_84: [missing] -> pass (J0)
  • lints::verify_lint_overflowing_uint_83: [missing] -> pass (J0)
  • lints::verify_lint_overflowing_uint_84: pass -> [missing] (J0)
  • lints::verify_lint_path_statement_no_effect_95: [missing] -> pass (J0)
  • lints::verify_lint_private_extern_crate_reexport_107: pass -> [missing] (J0)
  • lints::verify_lint_raw_prefix_132: [missing] -> pass (J0)
  • lints::verify_lint_raw_prefix_133: pass -> [missing] (J0)
  • lints::verify_lint_redundant_import_visibility_145: [missing] -> pass (J0)
  • lints::verify_lint_redundant_import_visibility_146: pass -> [missing] (J0)
  • lints::verify_lint_redundant_semicolons_82: pass -> [missing] (J0)
  • lints::verify_lint_reserved_multihash_150: pass -> [missing] (J0)
  • lints::verify_lint_reserved_prefix_131: [missing] -> pass (J0)
  • lints::verify_lint_reserved_prefix_132: pass -> [missing] (J0)
  • lints::verify_lint_reserved_string_149: pass -> [missing] (J0)
  • lints::verify_lint_trailing_semi_macro_135: pass -> [missing] (J0)
  • lints::verify_lint_unexpected_builtin_cfg_104: pass -> [missing] (J0)
  • lints::verify_lint_unit_bindings_100: pass -> [missing] (J0)
  • lints::verify_lint_unit_bindings_99: [missing] -> pass (J0)
  • lints::verify_lint_unnameable_test_items_114: [missing] -> pass (J0)
  • lints::verify_lint_unnameable_test_items_115: pass -> [missing] (J0)
  • lints::verify_lint_unnecessary_qualification_143: [missing] -> pass (J0)
  • lints::verify_lint_unnecessary_qualification_144: pass -> [missing] (J0)
  • lints::verify_lint_unqualified_local_imports_147: [missing] -> pass (J0)
  • lints::verify_lint_unqualified_local_imports_148: pass -> [missing] (J0)
  • lints::verify_lint_unused_allocation_98: pass -> [missing] (J0)
  • lints::verify_lint_unused_allocation_mut_98: [missing] -> pass (J0)
  • lints::verify_lint_unused_builtin_attribute_133: [missing] -> pass (J0)
  • lints::verify_lint_unused_closure_93: [missing] -> pass (J0)
  • lints::verify_lint_unused_closure_94: pass -> [missing] (J0)
  • lints::verify_lint_unused_coroutine_95: pass -> [missing] (J0)
  • lints::verify_lint_unused_crate_dependency_121: [missing] -> pass (J0)
  • lints::verify_lint_unused_crate_dependency_122: pass -> [missing] (J0)
  • lints::verify_lint_unused_doc_comment_127: [missing] -> pass (J0)
  • lints::verify_lint_unused_doc_comment_128: pass -> [missing] (J0)
  • lints::verify_lint_unused_extern_crate_140: pass -> [missing] (J0)
  • lints::verify_lint_unused_label_107: [missing] -> pass (J0)
  • lints::verify_lint_unused_label_108: pass -> [missing] (J0)
  • lints::verify_lint_unused_lifetime_136: [missing] -> pass (J0)
  • lints::verify_lint_unused_lifetime_137: pass -> [missing] (J0)
  • lints::verify_lint_unused_macro_definition_109: [missing] -> pass (J0)
  • lints::verify_lint_unused_macro_definition_110: pass -> [missing] (J0)
  • lints::verify_lint_unused_macro_use_106: pass -> [missing] (J0)
  • lints::verify_lint_unused_result_92: [missing] -> pass (J0)
  • lints::verify_lint_uses_power_alignment_85: [missing] -> pass (J0)
  • lints::verify_lint_uses_power_alignment_86: pass -> [missing] (J0)
  • lints::verify_lint_variant_size_differences_87: [missing] -> pass (J0)
  • lints::verify_lint_variant_size_differences_88: pass -> [missing] (J0)
  • transmute::verify_lint_undefined_transmute_150: [missing] -> pass (J0)
  • transmute::verify_lint_undefined_transmute_151: pass -> [missing] (J0)

Stage 2

  • [ui] tests/ui/lint/redundant-semicolon/suggest-remove-semi-in-macro-expansion-issue-142143.rs: [missing] -> pass (J1)

(and 41 additional test diffs)

Additionally, 6 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 77ec48f5642ee1aa451d270f11f308c297f55f76 --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: 3645.1s -> 4849.4s (33.0%)
  2. dist-aarch64-apple: 6388.3s -> 4784.6s (-25.1%)
  3. mingw-check-1: 1607.3s -> 1993.8s (24.0%)
  4. x86_64-msvc-ext1: 6776.8s -> 7807.6s (15.2%)
  5. i686-gnu-2: 5412.2s -> 6227.2s (15.1%)
  6. x86_64-gnu-llvm-20-1: 3222.1s -> 3704.4s (15.0%)
  7. x86_64-apple-1: 6518.2s -> 7448.6s (14.3%)
  8. x86_64-rust-for-linux: 2571.6s -> 2916.1s (13.4%)
  9. i686-gnu-nopt-1: 7042.8s -> 7932.4s (12.6%)
  10. i686-gnu-1: 7231.0s -> 8073.9s (11.7%)
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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#141574 impl Default for array::IntoIter 1ecfac647c9281baa4ea38b4c1ae85da25dc1745 (link)
#141608 Add support for repetition to proc_macro::quote a45f31e36a51d27dcda25b19ccb788917cb99ff3 (link)
#142100 rustdoc: make srcIndex no longer a global variable d23ea442789f4806883ce8ac20f199cfdae67117 (link)
#142371 avoid &mut P<T> in visit_expr etc methods 3f9068fdfb56513488984e4d7515ff2419d1a951 (link)
#142517 Windows: Use anonymous pipes in Command 6822a9127e1579aa1314fca8789e01e3c72c1b4b (link)
#142520 alloc: less static mut + some cleanup 8f888b89a2504f2cfb29bcc6b7003923a0336e6e (link)
#142588 Generic ctx imprv 66c88d634b59f5651ea068b923bc19e608011683 (link)
#142605 Don't unwrap in enzyme builds in case of missing llvm-config 60164b96fb57a9a99766d4cad648d733af3a70bd (link)
#142608 Refresh module-level docs for rustc_target::spec a69b9cd5dd5e98cc14ea82e9e9b13690e6f91ae0 (link)
#142618 Lint about console calls in rustdoc JS ee84d798efad2af327deefa592dd96f818f44b6c (link)
#142620 Remove a panicking branch in BorrowedCursor::advance afb130f513d156fe9fdfe2b8faed282020d32dd8 (link)
#142631 Dont suggest remove semi inside macro expansion for redunda… d7ed4b18b67c4c0f58c98db5b4acf6b92cdf5941 (link)
#142632 Update cargo cd713bcb7119912baf82e2c1882222e1132ec74b (link)
#142635 Temporarily add back -Zwasm-c-abi=spec 9faa8384b9a6809e37d9e837ae63e5696a94d7a3 (link)

previous master: 27eb2690f4

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustdoc-search Area: Rustdoc's search feature F-autodiff `#![feature(autodiff)]` 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-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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Projects
None yet
Development

Successfully merging this pull request may close these issues.