Skip to content

Rollup of 14 pull requests - #160021

Merged
rust-bors[bot] merged 125 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-o52lFrD
Jul 27, 2026
Merged

Rollup of 14 pull requests#160021
rust-bors[bot] merged 125 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-o52lFrD

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

the8472 and others added 30 commits July 16, 2026 17:52
The lack of this has caused an error when it diverges, because `shallow_resolve(ty).is_never()` was false. Given that we should switch to eager normalization anyway, like rustc, this makes sense to do.

Also switch the `shallow_resolve(ty).is_never()` to `resolve_vars_with_obligations(ty).is_never()`, because rustc uses this function.

And three drive-by changes:

 - Change referrals to Chalk in logging into next-solver;
 - In `setup_tracing()`, do not cache the existence of the env var. This function is not perf-sensitive, and caching it means it's more complicated than necessary to change it mid-execution.
 - Rearrange `expr_guaranteed_to_constitute_read_for_never()` a bit.
fix: Eagerly normalize `.await`'s `IntoFuture::Output`
fix: fix syntax bridge panic when spilting float
…mzrvzvm

fix: Fix `InferenceContext:identity_args` using the wrong DefId
…vqrvuqs

fix: Handle enum variants in next-solver `generics`
…tlnnszp

internal: Pack `ExprOrPatId` when stored, shrink `ScopeData`
…mxvnkyz

internal: Add a more database lifetimes
…nmzoxpt

Record expressions in types in ExprScope
…oxyymzo

internal: Shrink hir::Expr from 56 to 48 bytes
fix: Spawn proc-macro servers on requests clearing the client cache
@rustbot rustbot added A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool 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-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 Jul 27, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never 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,x86_64-mingw-1,i686-msvc-*,x86_64-gnu-parallel-frontend

@rust-bors

rust-bors Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

📌 Commit d3cf641 has been approved by JonathanBrouwer

It is now in the queue for this repository.

🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened.

Reason for tree closure: spurious failures

@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 Jul 27, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 27, 2026
Rollup of 14 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
try-job: x86_64-mingw-1
try-job: i686-msvc-*
try-job: x86_64-gnu-parallel-frontend
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors p=998

@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 9a1b8c9 (9a1b8c9a9457a65f52f3854265efca9e3400fa0b)
Base parent: 4fefe36 (4fefe3656700e5528edddc2336667818917dfc70)

@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 Jul 27, 2026
@rust-bors

rust-bors Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 12m 22s
Pushing 09ee43b to main...

@rust-bors
rust-bors Bot merged commit 09ee43b into rust-lang:main Jul 27, 2026
22 of 28 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Jul 27, 2026
@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 4fefe36 (parent) -> 09ee43b (this PR)

Test differences

Show 197 test diffs

Stage 0

  • context::tests::expected_type_guard_condition: [missing] -> pass (J4)
  • expr_store::scope::tests::type_anon_const_scope: [missing] -> pass (J4)
  • expr_store::tests::body::desugar_builtin_format_args_before_1_89_0: pass -> [missing] (J4)
  • expr_store::tests::body::desugar_builtin_format_args_before_1_93_0: pass -> [missing] (J4)
  • find_path::tests::prefer_alloc_paths_over_std_with_extern_crate_std: [missing] -> pass (J4)
  • handlers::invert_if::tests::invert_if_general_case_needs_paren: [missing] -> pass (J4)
  • handlers::merge_imports::tests::test_merge_with_malformed_colon_path_segment: [missing] -> pass (J4)
  • handlers::no_such_field::tests::no_such_field_no_fix_for_struct_in_library_crate: [missing] -> pass (J4)
  • handlers::no_such_field::tests::test_add_field_macro_defined_struct: [missing] -> pass (J4)
  • handlers::no_such_field::tests::test_add_field_macro_defined_struct_large_offset: [missing] -> pass (J4)
  • handlers::replace_qualified_name_with_use::tests::test_replace_not_applicable_for_unqualified_path: [missing] -> pass (J4)
  • invoke_query: pass -> [missing] (J4)
  • invoke_tracked_query: pass -> [missing] (J4)
  • logger_db::test_logger_db: pass -> [missing] (J4)
  • new_salsa_baseline: pass -> [missing] (J4)
  • priming_scope::tests::active_seed_pulls_transitive_deps: [missing] -> pass (J4)
  • priming_scope::tests::closes_seeds_under_deps: [missing] -> pass (J4)
  • priming_scope::tests::does_not_pull_reverse_deps: [missing] -> pass (J4)
  • priming_scope::tests::pulls_library_dep_via_seeded_crate: [missing] -> pass (J4)
  • query: pass -> [missing] (J4)
  • test_logger_db: pass -> [missing] (J4)
  • test_queries_with_results: pass -> [missing] (J4)
  • tests::coercion::coerce_pointee_derive: [missing] -> pass (J4)
  • tests::never_type::never_await: [missing] -> pass (J4)
  • tests::regression::closure_in_enum_discriminant_does_not_panic: [missing] -> pass (J4)
  • tests::regression::new_solver::nested_argument_position_impl_trait_captures_lifetime: [missing] -> pass (J4)
  • tests::regression::regression_22795: [missing] -> pass (J4)
  • tests::scientific_notation_field_access_recovers: [missing] -> pass (J4)
  • tests::simple::diff_nested: [missing] -> pass (J4)
  • tests::simple::hrtb_with_where_predicate: [missing] -> pass (J4)
  • tests::simple::nested: [missing] -> pass (J4)
  • tests::traits::hrtb_dyn_trait: [missing] -> pass (J4)
  • tests::traits::hrtb_impl_trait: [missing] -> pass (J4)
  • transparent: pass -> [missing] (J4)
  • unadorned_query: pass -> [missing] (J4)

Stage 1

  • context::tests::expected_type_guard_condition: [missing] -> pass (J0)
  • expr_store::scope::tests::type_anon_const_scope: [missing] -> pass (J0)
  • expr_store::tests::body::desugar_builtin_format_args_before_1_89_0: pass -> [missing] (J0)
  • expr_store::tests::body::desugar_builtin_format_args_before_1_93_0: pass -> [missing] (J0)
  • find_path::tests::prefer_alloc_paths_over_std_with_extern_crate_std: [missing] -> pass (J0)
  • handlers::invert_if::tests::invert_if_general_case_needs_paren: [missing] -> pass (J0)
  • handlers::merge_imports::tests::test_merge_with_malformed_colon_path_segment: [missing] -> pass (J0)
  • handlers::no_such_field::tests::no_such_field_no_fix_for_struct_in_library_crate: [missing] -> pass (J0)
  • handlers::no_such_field::tests::test_add_field_macro_defined_struct: [missing] -> pass (J0)
  • handlers::no_such_field::tests::test_add_field_macro_defined_struct_large_offset: [missing] -> pass (J0)
  • handlers::replace_qualified_name_with_use::tests::test_replace_not_applicable_for_unqualified_path: [missing] -> pass (J0)
  • invoke_query: pass -> [missing] (J0)
  • invoke_tracked_query: pass -> [missing] (J0)
  • logger_db::test_logger_db: pass -> [missing] (J0)
  • new_salsa_baseline: pass -> [missing] (J0)
  • priming_scope::tests::active_seed_pulls_transitive_deps: [missing] -> pass (J0)
  • priming_scope::tests::closes_seeds_under_deps: [missing] -> pass (J0)
  • priming_scope::tests::does_not_pull_reverse_deps: [missing] -> pass (J0)
  • priming_scope::tests::pulls_library_dep_via_seeded_crate: [missing] -> pass (J0)
  • query: pass -> [missing] (J0)
  • test_logger_db: pass -> [missing] (J0)
  • test_queries_with_results: pass -> [missing] (J0)
  • tests::coercion::coerce_pointee_derive: [missing] -> pass (J0)
  • tests::never_type::never_await: [missing] -> pass (J0)
  • tests::regression::closure_in_enum_discriminant_does_not_panic: [missing] -> pass (J0)
  • tests::regression::new_solver::nested_argument_position_impl_trait_captures_lifetime: [missing] -> pass (J0)
  • tests::regression::regression_22795: [missing] -> pass (J0)
  • tests::scientific_notation_field_access_recovers: [missing] -> pass (J0)
  • tests::simple::diff_nested: [missing] -> pass (J0)
  • tests::simple::hrtb_fn_ptr: [missing] -> pass (J0)
  • tests::simple::hrtb_with_where_predicate: [missing] -> pass (J0)
  • tests::simple::nested: [missing] -> pass (J0)
  • tests::traits::hrtb_dyn_trait: [missing] -> pass (J0)
  • tests::traits::hrtb_impl_trait: [missing] -> pass (J0)
  • unadorned_query: pass -> [missing] (J0)
  • [ui (polonius)] tests/ui/comptime/link-dead-code.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/const-generics/generic_const_exprs/coherence-overlap-const-projection-157937.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/const-generics/issues/issue-89304.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#arm: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#x86: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/target-feature/target-cpu-lacks-required-target-feature.rs: pass -> [missing] (J1)
  • [ui (polonius)] tests/ui/traits/next-solver/lower-universe-resolved-const-issue-159703.rs: [missing] -> pass (J1)
  • [ui (polonius)] tests/ui/traits/next-solver/lower-universe-resolved-const-issue-159894.rs: [missing] -> pass (J1)
  • [ui] tests/ui/borrowck/borrowck-move-error-many-places.rs: [missing] -> pass (J2)
  • [ui] tests/ui/comptime/link-dead-code.rs: [missing] -> pass (J2)
  • [ui] tests/ui/const-generics/generic_const_exprs/coherence-overlap-const-projection-157937.rs: [missing] -> pass (J2)
  • [ui] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#arm: [missing] -> pass (J2)
  • [ui] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#x86: [missing] -> pass (J2)
  • [ui] tests/ui/target-feature/target-cpu-lacks-required-target-feature.rs: pass -> [missing] (J2)
  • [ui] tests/ui/traits/next-solver/lower-universe-resolved-const-issue-159703.rs: [missing] -> pass (J2)
  • [ui] tests/ui/traits/next-solver/lower-universe-resolved-const-issue-159894.rs: [missing] -> pass (J2)
  • [run-make] tests/run-make/brepro-msvc-determinism: [missing] -> pass (J4)

Stage 2

  • [ui] tests/ui/borrowck/borrowck-move-error-many-places.rs: [missing] -> pass (J3)
  • [ui] tests/ui/comptime/link-dead-code.rs: [missing] -> pass (J3)
  • [ui] tests/ui/const-generics/generic_const_exprs/coherence-overlap-const-projection-157937.rs: [missing] -> pass (J3)
  • [ui] tests/ui/const-generics/issues/issue-89304.rs: pass -> [missing] (J3)
  • [ui] tests/ui/traits/next-solver/lower-universe-resolved-const-issue-159703.rs: [missing] -> pass (J3)
  • [ui] tests/ui/traits/next-solver/lower-universe-resolved-const-issue-159894.rs: [missing] -> pass (J3)
  • [ui] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#arm: [missing] -> pass (J5)
  • [ui] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#x86: [missing] -> pass (J5)
  • [ui] tests/ui/target-feature/target-cpu-lacks-required-target-feature.rs: pass -> [missing] (J5)
  • [run-make] tests/run-make/brepro-msvc-determinism: [missing] -> pass (J6)
  • [ui] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#arm: [missing] -> ignore (gcc backend is marked as ignore) (J7)
  • [ui] tests/ui/target-feature/abi-required-target-feature-missing-in-target-cpu.rs#x86: [missing] -> ignore (gcc backend is marked as ignore) (J7)
  • [ui] tests/ui/target-feature/target-cpu-lacks-required-target-feature.rs: ignore (gcc backend is marked as ignore) -> [missing] (J7)

(and 4 additional test diffs)

Additionally, 93 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 09ee43b2d6055539771bee8ac30a6e56eb4db773 --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-i586-gnu-i586-i686-musl: 1h 6m -> 1h 36m (+44.5%)
  2. dist-i686-msvc: 1h 58m -> 1h 9m (-41.4%)
  3. x86_64-gnu-stable: 1h 43m -> 2h 24m (+40.1%)
  4. dist-apple-various: 2h 27m -> 1h 33m (-36.7%)
  5. x86_64-gnu-tools: 1h 5m -> 41m 13s (-36.6%)
  6. optional-x86_64-gnu-autodiff: 53m 6s -> 35m 38s (-32.9%)
  7. x86_64-gnu-llvm-22-1: 1h -> 1h 19m (+32.6%)
  8. x86_64-gnu-llvm-21-1: 58m 51s -> 40m 12s (-31.7%)
  9. i686-gnu-nopt-2: 2h 17m -> 1h 34m (-31.5%)
  10. x86_64-msvc-ext1: 1h 37m -> 2h 8m (+31.4%)
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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#160009 rust-analyzer subtree update 422ba8285d4a5490db0285efb4b9b402fcc15b31 (link)
#159833 ci: Make the x86_64-gnu-parallel-frontend job non-optional e3f9918e429710eeb476ca899ed45f0e59342fec (link)
#158873 applying /Brepro in bootstrap on MSVC and adding a run-ma… 28c0db92ef89e8070f6f97214a4fb7da02e602eb (link)
#159777 Enforce that we don't generate code for comptime fns 4bcf8a7068ec16e4c5a431fcd1222e795e9347b4 (link)
#159997 On many bindings with move error, limit the number of `Span… d1698fabc34455513acc2ae73ced13be2fbbb04c (link)
#158205 fix: defer const normalize in coherence mode d91ec269708ef34520671f39bf29fef8e476f6a9 (link)
#159312 Windows implementation for stdio set/take/replace b2f556972f2cd85143f3c9943087eef0094d80f5 (link)
#159772 Fix lowering of resolved const inference variables e1bb0a780ca99be101721657de8b36003a51eb51 (link)
#159785 Share _Unwind_Exception definition between native and wasm 9cc38ccf10731b9ffd676b3f6f219491308f33b8 (link)
#159968 Fix the const impl suggestion 2f3f89586b541ee69dd70fdf9d71b57e3535055b (link)
#159974 Update thinvec to 0.2.19 db9dee30abbb418de48c8442762f9ca0f78b078a (link)
#160013 tests/ui: Ignore one query cycle test in parallel frontend … 55c199110655ea78909c650731d594868095f57e (link)
#160016 compiletest: do not talk about JSON when the user never see… 1850579c8920c7217570061668ea96517c1ca7b1 (link)
#160018 test suite: add ARM case to ABI-required target feature che… fb6903d5a69eead1d2e4f62c591bff53d527f22e (link)

previous master: 4fefe36567

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
Copy Markdown
Collaborator

Finished benchmarking commit (09ee43b): 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 -1.5%)

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

Cycles

Results (secondary 0.4%)

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)
2.7% [2.4%, 3.1%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.2% [-4.2%, -4.2%] 1
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 488.598s -> 487.408s (-0.24%)
Artifact size: 387.98 MiB -> 387.99 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 (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-compiletest Area: The compiletest test runner A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. O-windows Operating system: Windows 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.