Skip to content

Rollup of 10 pull requests - #160849

Merged
rust-bors[bot] merged 118 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-qb2wimf
Aug 10, 2026
Merged

Rollup of 10 pull requests#160849
rust-bors[bot] merged 118 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-qb2wimf

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

ChayimFriedman2 and others added 30 commits July 24, 2026 08:30
Example
---
```rust
fn f() { let a: () = (); let b: () = todo$0!() }
```

**Before this PR**

```text
1. Inline macro
2. Replace todo!() with a
3. Replace todo!() with ()
4. Replace todo!() with f()
```

**After this PR**

```text
1. Inline macro
```
Visit them in the visitor.

Also fix some missing things in the visiting infra.
This way we don't need to re-retrieve it every time, saving time and memory.
…threaded rayon pool

This reduces variance, although not completely.
…s-no-parallell

internal: When running `analysis-stats` without `--parallel`, install a single-threaded rayon pool
…-warning

minor: Add a warning to the docs of `InvocationStrategy::Once`
fix: Add `-Zjson-target-spec` on Cargo calls where needed
…t-scope

fix: Fix `ExprScopes` handling of exprs inside patterns
fix: exclude unknown types from term search
@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-infra Relevant to the infrastructure 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-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Aug 10, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple-1,aarch64-apple-2,x86_64-mingw-1,i686-msvc-1,i686-msvc-2

@rust-bors

rust-bors Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 62641fa has been approved by JonathanBrouwer

It is now in the queue for this repository.

@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 Aug 10, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 10, 2026
Rollup of 10 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple-1
try-job: aarch64-apple-2
try-job: x86_64-mingw-1
try-job: i686-msvc-1
try-job: i686-msvc-2
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: b9e4e71 (b9e4e7106d78e271b6c456b835be286cf148afa9)
Base parent: 8a2fbe3 (8a2fbe3ea881ec68b9f06510fd1a1484cdf5bb6b)

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 10, 2026
@rust-bors

rust-bors Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 5m
Pushing ea06042 to main...

@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#160841 rust-analyzer subtree update be01e1817b4d198254147f034f2f2ec04a61981e (link)
#160253 Add CI job for checking stdlib semver compatibility 39f4da87b4ac7870d8365420fc9a2baedec7ed7e (link)
#160216 clean up handling of paths in mgca 0728ff83000eaf9eccad633f9a6abbf0bfa34ba6 (link)
#160832 Fix funding link 43ff836091100cef6e01da69a0cbb292bd08e670 (link)
#160833 Remove analysis arg from ResultsVisitor methods a477f3d83a7a641ddf1b2f4d765825f528e66227 (link)
#160834 Update Enzyme submodule 70e6731d4725fe33aa6227397113f89aae07197b (link)
#160836 Fix swapped documentation lines on io::Read 9a86f1a1d1be1e309e808605e82c2382fb62db74 (link)
#160839 Stop updating npm lockfile by Renovatebot da4e6fda893bf6acbfc91c2a772516f53a8720ae (link)
#160840 Rename SmallCopyList to SmallCopySet 1424cb14ad2401b8f2b990b01d2f9660f0d5286a (link)
#160846 use rustc_attr_ir imports more 2923db02e4079258f55864079127aaae1c431279 (link)

previous master: 7088e4b63a

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
Copy Markdown
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 7088e4b (parent) -> ea06042 (this PR)

Test differences

Show 242 test diffs

Stage 0

  • expr_store::scope::tests::closure_param_pattern_expr_scope: [missing] -> pass (J1)
  • expr_store::scope::tests::fn_param_pattern_expr_scope: [missing] -> pass (J1)
  • expr_store::scope::tests::if_let_pattern_expr_scope: [missing] -> pass (J1)
  • expr_store::scope::tests::pattern_const_block_expressions_have_scopes: [missing] -> pass (J1)
  • expr_store::tests::body::shadowing_tuple_struct_with_invisible_ctor: [missing] -> pass (J1)
  • handlers::add_missing_impl_members::tests::rustc_must_implement_one_of: [missing] -> pass (J1)
  • handlers::macro_error::tests::no_stack_overflow_for_recursive_exported_macro: [missing] -> pass (J1)
  • handlers::moved_out_of_ref::tests::generic_types: pass -> [missing] (J1)
  • handlers::moved_out_of_ref::tests::no_false_positive_match_and_closure_capture: pass -> [missing] (J1)
  • handlers::moved_out_of_ref::tests::no_false_positive_simple: pass -> [missing] (J1)
  • handlers::moved_out_of_ref::tests::regression_20155: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::allow_unused_mut_for_identifiers_starting_with_underline: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::closure: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::fn_traits: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::function_arguments_are_initialized: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::index: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::initialization_is_not_mutation: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::mutable_reference: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::mutation_in_dead_code: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::no_diagnostics_in_case_of_multiple_bounds: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::no_false_positive_simple: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::or_pattern_no_terminator: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::regression_14421: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::regression_15099: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::regression_15143: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::regression_20662: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::respect_lint_attributes_for_unused_mut: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::unused_mut_fix: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::unused_mut_simple: pass -> [missing] (J1)
  • handlers::mutability_errors::tests::while_let: pass -> [missing] (J1)
  • handlers::term_search::tests::test_not_search_unit: [missing] -> pass (J1)
  • handlers::unused_variables::tests::crate_attrs_should_not_override_lints_in_source: pass -> [missing] (J1)
  • handlers::unused_variables::tests::crate_attrs_should_preserve_lint_order: pass -> [missing] (J1)
  • handlers::unused_variables::tests::no_fix_for_marco: pass -> [missing] (J1)
  • handlers::unused_variables::tests::prefer_closest_ancestor_lint_attribute: pass -> [missing] (J1)
  • handlers::unused_variables::tests::unused_self: pass -> [missing] (J1)
  • handlers::unused_variables::tests::unused_variable_in_shorthand_record_field: pass -> [missing] (J1)
  • handlers::unused_variables::tests::unused_variables_simple: pass -> [missing] (J1)
  • hover::tests::doc_attr_macro: [missing] -> pass (J1)
  • mir::lower::tests::borrowck_alias_projection_recovery_does_not_panic: pass -> [missing] (J1)
  • mir::lower::tests::borrowck_tuple_field_projection_recovery_does_not_panic: pass -> [missing] (J1)
  • nameres::tests::imports::trailing_self_import: [missing] -> pass (J1)
  • references::tests::pub_macro_2_scope: [missing] -> pass (J1)
  • tests::assist_order_term_search_unknown_type: [missing] -> pass (J1)
  • tests::never_type::diverging_destructuring_assignment_coerces_rhs: [missing] -> pass (J1)
  • tests::regression::new_solver::infer_method_call_recovery_hrtb_does_not_panic: [missing] -> pass (J1)
  • tests::regression::new_solver::invalid_string_array_len_is_error: [missing] -> pass (J1)
  • tests::regression::regression_23083: [missing] -> pass (J1)
  • tests::runner::ok::asm_keyword_name: [missing] -> pass (J1)

Stage 1

  • expr_store::scope::tests::if_let_pattern_expr_scope: [missing] -> pass (J0)
  • expr_store::tests::body::shadowing_tuple_struct_with_invisible_ctor: [missing] -> pass (J0)
  • handlers::macro_error::tests::no_stack_overflow_for_recursive_exported_macro: [missing] -> pass (J0)
  • handlers::macro_error::tests::no_stack_overflow_for_recursive_macro: [missing] -> pass (J0)
  • handlers::moved_out_of_ref::tests::no_false_positive_simple: pass -> [missing] (J0)
  • handlers::moved_out_of_ref::tests::no_false_positive_unknown_type: pass -> [missing] (J0)
  • handlers::moved_out_of_ref::tests::regression_18201: pass -> [missing] (J0)
  • handlers::moved_out_of_ref::tests::regression_20155: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::allow_unused_mut_for_identifiers_starting_with_underline: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::closure: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::fn_traits: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::for_loop: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::function_arguments_are_initialized: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::index: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::initialization_is_not_mutation: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::initialization_is_not_mutation_in_loop: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::match_closure_capture: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::need_mut_fix: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::no_false_positive_simple: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::overloaded_deref: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::regression_14421: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::regression_15099: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::regression_15670: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::regression_20662: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::slice_pattern: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::unused_mut_simple: pass -> [missing] (J0)
  • handlers::mutability_errors::tests::while_let: pass -> [missing] (J0)
  • handlers::replace_arith_op::tests::replace_arith_with_strict_add: [missing] -> pass (J0)
  • handlers::term_search::tests::test_not_search_unit: [missing] -> pass (J0)
  • handlers::unused_variables::tests::allow_unused_variables_for_identifiers_starting_with_underline: pass -> [missing] (J0)
  • handlers::unused_variables::tests::apply_last_lint_attribute_when_multiple_are_present: pass -> [missing] (J0)
  • handlers::unused_variables::tests::crate_attrs_should_not_override_lints_in_source: pass -> [missing] (J0)
  • handlers::unused_variables::tests::fix_unused_variable: pass -> [missing] (J0)
  • handlers::unused_variables::tests::prefer_closest_ancestor_lint_attribute: pass -> [missing] (J0)
  • handlers::unused_variables::tests::unused_self: pass -> [missing] (J0)
  • handlers::unused_variables::tests::unused_variable_in_array_destructure: pass -> [missing] (J0)
  • handlers::unused_variables::tests::unused_variable_in_record_field: pass -> [missing] (J0)
  • mir::lower::tests::borrowck_alias_projection_recovery_does_not_panic: pass -> [missing] (J0)
  • mir::lower::tests::borrowck_hrtb_closure_argument_does_not_panic: pass -> [missing] (J0)
  • mir::lower::tests::borrowck_tuple_field_projection_recovery_does_not_panic: pass -> [missing] (J0)
  • mir::lower::tests::regression_21173_const_generic_impl_with_assoc_type: pass -> [missing] (J0)
  • tests::assist_order_term_search_unknown_type: [missing] -> pass (J0)
  • tests::generated::doctest_replace_arith_with_strict: [missing] -> pass (J0)
  • tests::regression::new_solver::infer_method_call_recovery_hrtb_does_not_panic: [missing] -> pass (J0)
  • tests::regression::regression_22836: [missing] -> pass (J0)
  • tests::regression::regression_22986: [missing] -> pass (J0)
  • tests::regression::regression_23083: [missing] -> pass (J0)
  • tests::runner::ok::asm_keyword_name: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/mgca/direct-const-arg-correct-rib.rs: [missing] -> pass (J2)
  • [ui] tests/ui/const-generics/paren.rs: [missing] -> pass (J2)

Stage 2

  • [ui] tests/ui/const-generics/mgca/direct_const_arg-infer-as-type.rs: [missing] -> pass (J3)

(and 104 additional test diffs)

Additionally, 38 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 ea060423749bf6e561c3398f403425c502beb9ba --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-gnu-llvm-21-2: 1h 3m -> 1h 35m (+51.1%)
  2. x86_64-msvc-ext1: 1h 39m -> 2h 19m (+39.6%)
  3. dist-loongarch64-musl: 1h 15m -> 1h 44m (+37.8%)
  4. dist-x86_64-freebsd: 1h 3m -> 1h 27m (+37.5%)
  5. dist-ohos-aarch64: 1h 17m -> 53m 37s (-30.9%)
  6. dist-powerpc64le-linux-musl: 1h 35m -> 1h 7m (-29.6%)
  7. dist-android: 29m 40s -> 22m 24s (-24.5%)
  8. dist-ohos-armv7: 58m 2s -> 1h 12m (+24.3%)
  9. x86_64-gnu-gcc-core-tests: 12m 3s -> 14m 53s (+23.5%)
  10. dist-x86_64-msvc: 2h 10m -> 1h 40m (-23.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
Copy Markdown
Collaborator

Finished benchmarking commit (ea06042): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary 3.0%, secondary 1.1%)

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

mean range count
Regressions ❌
(primary)
3.0% [3.0%, 3.0%] 1
Regressions ❌
(secondary)
2.0% [0.6%, 6.2%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.5% [-0.6%, -0.4%] 2
All ❌✅ (primary) 3.0% [3.0%, 3.0%] 1

Cycles

Results (secondary 0.3%)

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.7% [0.4%, 1.3%] 11
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.9% [-1.7%, -0.4%] 4
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 455.179s -> 453.486s (-0.37%)
Artifact size: 398.37 MiB -> 398.53 MiB (0.04%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc F-autodiff `#![feature(autodiff)]` merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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-infra Relevant to the infrastructure 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-rust-analyzer Relevant to the rust-analyzer 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.