Skip to content

Small refactor of arena_cache query values#154944

Merged
rust-bors[bot] merged 1 commit intorust-lang:mainfrom
zetanumbers:refactor_arena_cache_queries
Apr 13, 2026
Merged

Small refactor of arena_cache query values#154944
rust-bors[bot] merged 1 commit intorust-lang:mainfrom
zetanumbers:refactor_arena_cache_queries

Conversation

@zetanumbers
Copy link
Copy Markdown
Contributor

Query modifier arena_cache automatically allocates only Some variant of query's value of type Option<&'tcx T>, so mir_callgraph_cyclic should've been doing it from the beginning. The same could be said for any Result<&'tcx T, ErrorGuaranteed> as ErrorGuaranteed is a zero sized type, but that requires adding a new ArenaCached implementation.

@rustbot rustbot added 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. labels Apr 7, 2026
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Apr 7, 2026

r? @jackh726

rustbot has assigned @jackh726.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler, query-system
  • compiler, query-system expanded to 69 candidates
  • Random selection from 10 candidates

@jackh726
Copy link
Copy Markdown
Member

@bors r+ rollup

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 13, 2026

📌 Commit aa6150b has been approved by jackh726

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 Apr 13, 2026
@Zalathar
Copy link
Copy Markdown
Member

Ah, Result<&'tcx T, ErrorGuaranteed> is a good candidate for ArenaCached, nicely spotted.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Apr 13, 2026
…ueries, r=jackh726

Small refactor of `arena_cache` query values

Query modifier `arena_cache` automatically allocates only `Some` variant of query's value of type `Option<&'tcx T>`, so `mir_callgraph_cyclic` should've been doing it from the beginning. The same could be said for any `Result<&'tcx T, ErrorGuaranteed>` as `ErrorGuaranteed` is a zero sized type, but that requires adding a new `ArenaCached` implementation.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Apr 13, 2026
…ueries, r=jackh726

Small refactor of `arena_cache` query values

Query modifier `arena_cache` automatically allocates only `Some` variant of query's value of type `Option<&'tcx T>`, so `mir_callgraph_cyclic` should've been doing it from the beginning. The same could be said for any `Result<&'tcx T, ErrorGuaranteed>` as `ErrorGuaranteed` is a zero sized type, but that requires adding a new `ArenaCached` implementation.
rust-bors Bot pushed a commit that referenced this pull request Apr 13, 2026
…uwer

Rollup of 13 pull requests

Successful merges:

 - #155162 (relnotes for 1.95)
 - #140763 (Change codegen of LLVM intrinsics to be name-based, and add llvm linkage support for `bf16(xN)` and `i1xN`)
 - #154049 (delegation: Track more precise spans for glob delegations)
 - #154193 (Implement EII for statics)
 - #154435 (resolve: Some import resolution cleanups)
 - #153941 (tests/debuginfo/basic-stepping.rs: Explain why all lines are not steppable)
 - #154587 (Add --verbose-run-make-subprocess-output flag to suppress verbose run-make output for passing tests)
 - #154624 (Make `DerefPure` dyn-incompatible)
 - #154929 (Add `const Default` impls for `LazyCell` and `LazyLock`)
 - #154944 (Small refactor of `arena_cache` query values)
 - #155131 (Stabilize feature `uint_bit_width`)
 - #155147 (Stabilize feature `int_lowest_highest_one`)
 - #155174 (Improve emission of `UnknownDiagnosticAttribute` lint)
@JonathanBrouwer
Copy link
Copy Markdown
Contributor

@bors try jobs=i686-msvc-2

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Apr 13, 2026
…try>

Small refactor of `arena_cache` query values


try-job: i686-msvc-2
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Apr 13, 2026
…ueries, r=jackh726

Small refactor of `arena_cache` query values

Query modifier `arena_cache` automatically allocates only `Some` variant of query's value of type `Option<&'tcx T>`, so `mir_callgraph_cyclic` should've been doing it from the beginning. The same could be said for any `Result<&'tcx T, ErrorGuaranteed>` as `ErrorGuaranteed` is a zero sized type, but that requires adding a new `ArenaCached` implementation.
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Apr 13, 2026

☀️ Try build successful (CI)
Build commit: 68275f7 (68275f7337d25a92cd7f8ee4ba2c0e13b0468304, parent: 14196dbfa3eb7c30195251eac092b1b86c8a2d84)

rust-bors Bot pushed a commit that referenced this pull request Apr 13, 2026
…uwer

Rollup of 19 pull requests

Successful merges:

 - #155162 (relnotes for 1.95)
 - #140763 (Change codegen of LLVM intrinsics to be name-based, and add llvm linkage support for `bf16(xN)` and `i1xN`)
 - #153604 (Fix thread::available_parallelism on WASI targets with threads)
 - #154193 (Implement EII for statics)
 - #154389 (Add more robust handling of nested query cycles)
 - #154435 (resolve: Some import resolution cleanups)
 - #155236 (Normalize individual predicate of `InstantiatedPredicates` inside `predicates_for_generics`)
 - #155243 (cg_ssa: transmute between scalable vectors)
 - #153941 (tests/debuginfo/basic-stepping.rs: Explain why all lines are not steppable)
 - #154587 (Add --verbose-run-make-subprocess-output flag to suppress verbose run-make output for passing tests)
 - #154624 (Make `DerefPure` dyn-incompatible)
 - #154929 (Add `const Default` impls for `LazyCell` and `LazyLock`)
 - #154944 (Small refactor of `arena_cache` query values)
 - #155055 (UI automation)
 - #155062 (Move tests from `tests/ui/issues/` to appropriate directories)
 - #155131 (Stabilize feature `uint_bit_width`)
 - #155147 (Stabilize feature `int_lowest_highest_one`)
 - #155174 (Improve emission of `UnknownDiagnosticAttribute` lint)
 - #155194 (Fix manpage version replacement and use verbose version)
@rust-bors rust-bors Bot merged commit b1bb531 into rust-lang:main Apr 13, 2026
12 checks passed
@rustbot rustbot added this to the 1.97.0 milestone Apr 13, 2026
rust-timer added a commit that referenced this pull request Apr 13, 2026
Rollup merge of #154944 - zetanumbers:refactor_arena_cache_queries, r=jackh726

Small refactor of `arena_cache` query values

Query modifier `arena_cache` automatically allocates only `Some` variant of query's value of type `Option<&'tcx T>`, so `mir_callgraph_cyclic` should've been doing it from the beginning. The same could be said for any `Result<&'tcx T, ErrorGuaranteed>` as `ErrorGuaranteed` is a zero sized type, but that requires adding a new `ArenaCached` implementation.
github-actions Bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Apr 13, 2026
…uwer

Rollup of 19 pull requests

Successful merges:

 - rust-lang/rust#155162 (relnotes for 1.95)
 - rust-lang/rust#140763 (Change codegen of LLVM intrinsics to be name-based, and add llvm linkage support for `bf16(xN)` and `i1xN`)
 - rust-lang/rust#153604 (Fix thread::available_parallelism on WASI targets with threads)
 - rust-lang/rust#154193 (Implement EII for statics)
 - rust-lang/rust#154389 (Add more robust handling of nested query cycles)
 - rust-lang/rust#154435 (resolve: Some import resolution cleanups)
 - rust-lang/rust#155236 (Normalize individual predicate of `InstantiatedPredicates` inside `predicates_for_generics`)
 - rust-lang/rust#155243 (cg_ssa: transmute between scalable vectors)
 - rust-lang/rust#153941 (tests/debuginfo/basic-stepping.rs: Explain why all lines are not steppable)
 - rust-lang/rust#154587 (Add --verbose-run-make-subprocess-output flag to suppress verbose run-make output for passing tests)
 - rust-lang/rust#154624 (Make `DerefPure` dyn-incompatible)
 - rust-lang/rust#154929 (Add `const Default` impls for `LazyCell` and `LazyLock`)
 - rust-lang/rust#154944 (Small refactor of `arena_cache` query values)
 - rust-lang/rust#155055 (UI automation)
 - rust-lang/rust#155062 (Move tests from `tests/ui/issues/` to appropriate directories)
 - rust-lang/rust#155131 (Stabilize feature `uint_bit_width`)
 - rust-lang/rust#155147 (Stabilize feature `int_lowest_highest_one`)
 - rust-lang/rust#155174 (Improve emission of `UnknownDiagnosticAttribute` lint)
 - rust-lang/rust#155194 (Fix manpage version replacement and use verbose version)
@zetanumbers zetanumbers deleted the refactor_arena_cache_queries branch April 14, 2026 08:27
github-actions Bot pushed a commit to rust-lang/rust-analyzer that referenced this pull request Apr 16, 2026
…uwer

Rollup of 19 pull requests

Successful merges:

 - rust-lang/rust#155162 (relnotes for 1.95)
 - rust-lang/rust#140763 (Change codegen of LLVM intrinsics to be name-based, and add llvm linkage support for `bf16(xN)` and `i1xN`)
 - rust-lang/rust#153604 (Fix thread::available_parallelism on WASI targets with threads)
 - rust-lang/rust#154193 (Implement EII for statics)
 - rust-lang/rust#154389 (Add more robust handling of nested query cycles)
 - rust-lang/rust#154435 (resolve: Some import resolution cleanups)
 - rust-lang/rust#155236 (Normalize individual predicate of `InstantiatedPredicates` inside `predicates_for_generics`)
 - rust-lang/rust#155243 (cg_ssa: transmute between scalable vectors)
 - rust-lang/rust#153941 (tests/debuginfo/basic-stepping.rs: Explain why all lines are not steppable)
 - rust-lang/rust#154587 (Add --verbose-run-make-subprocess-output flag to suppress verbose run-make output for passing tests)
 - rust-lang/rust#154624 (Make `DerefPure` dyn-incompatible)
 - rust-lang/rust#154929 (Add `const Default` impls for `LazyCell` and `LazyLock`)
 - rust-lang/rust#154944 (Small refactor of `arena_cache` query values)
 - rust-lang/rust#155055 (UI automation)
 - rust-lang/rust#155062 (Move tests from `tests/ui/issues/` to appropriate directories)
 - rust-lang/rust#155131 (Stabilize feature `uint_bit_width`)
 - rust-lang/rust#155147 (Stabilize feature `int_lowest_highest_one`)
 - rust-lang/rust#155174 (Improve emission of `UnknownDiagnosticAttribute` lint)
 - rust-lang/rust#155194 (Fix manpage version replacement and use verbose version)
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request Apr 16, 2026
…uwer

Rollup of 19 pull requests

Successful merges:

 - rust-lang/rust#155162 (relnotes for 1.95)
 - rust-lang/rust#140763 (Change codegen of LLVM intrinsics to be name-based, and add llvm linkage support for `bf16(xN)` and `i1xN`)
 - rust-lang/rust#153604 (Fix thread::available_parallelism on WASI targets with threads)
 - rust-lang/rust#154193 (Implement EII for statics)
 - rust-lang/rust#154389 (Add more robust handling of nested query cycles)
 - rust-lang/rust#154435 (resolve: Some import resolution cleanups)
 - rust-lang/rust#155236 (Normalize individual predicate of `InstantiatedPredicates` inside `predicates_for_generics`)
 - rust-lang/rust#155243 (cg_ssa: transmute between scalable vectors)
 - rust-lang/rust#153941 (tests/debuginfo/basic-stepping.rs: Explain why all lines are not steppable)
 - rust-lang/rust#154587 (Add --verbose-run-make-subprocess-output flag to suppress verbose run-make output for passing tests)
 - rust-lang/rust#154624 (Make `DerefPure` dyn-incompatible)
 - rust-lang/rust#154929 (Add `const Default` impls for `LazyCell` and `LazyLock`)
 - rust-lang/rust#154944 (Small refactor of `arena_cache` query values)
 - rust-lang/rust#155055 (UI automation)
 - rust-lang/rust#155062 (Move tests from `tests/ui/issues/` to appropriate directories)
 - rust-lang/rust#155131 (Stabilize feature `uint_bit_width`)
 - rust-lang/rust#155147 (Stabilize feature `int_lowest_highest_one`)
 - rust-lang/rust#155174 (Improve emission of `UnknownDiagnosticAttribute` lint)
 - rust-lang/rust#155194 (Fix manpage version replacement and use verbose version)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants