Skip to content

remove unnecessary fast path from borrowck - #165119

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
dianne:remove-borrowck-fast-path
Oct 31, 2026
Merged

rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
dianne:remove-borrowck-fast-path

Conversation

@dianne

@dianne dianne commented Oct 29, 2026

Copy link
Copy Markdown
Member

following up on #160902 (review), this removes a fast path that was found in #163150 to have a negligible performance impact.

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 29, 2026
@dianne

dianne commented Oct 29, 2026 •

Copy link
Copy Markdown
Member Author

let's double-check that perf's still neutral, especially since this isn't exactly the same as what I'd tested prior. @bors try

@rust-timer

This comment has been minimized.

@rust-bors

This comment was marked as resolved.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 29, 2026
@dianne

This comment was marked as resolved.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 29, 2026
remove unnecessary fast path from borrowck
Comment on lines +226 to +231
(ProjectionElem::Deref, ty::Ref(_, _, hir::Mutability::Not), _)
if !(base.projection.is_empty()
&& body.local_decls[borrow_local].is_ref_to_thread_local()) =>
{
// The only shared borrows we track are from temporaries created as references
// to thread-local statics. See `crate::place_ext::PlaceExt::ignore_borrow`.

@dianne dianne Oct 29, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't love this being duplicated from ignore_borrow, but it seemed kind of excessive to factor it out. either way, I feel it's more appropriate to allow ref-to-thread-locals here than to require callers to avoid them (as we do currently)

View changes since the review

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yea I dug into this a bit and this seems fine

@rust-bors

rust-bors Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 93a41fb (93a41fbae453648fec40acd090a70c4ff23ef7f1)
Base parent: ce37c4f (ce37c4ff837c5c5dc45cddf9e1e3704e42ca67ea)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (93a41fb): comparison URL.

Overall result: no relevant changes - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (primary 0.0%, secondary 2.4%)

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

mean range count
Regressions ❌
(primary)
1.9% [0.5%, 2.9%] 4
Regressions ❌
(secondary)
3.0% [2.3%, 3.6%] 5
Improvements ✅
(primary)
-0.6% [-1.1%, -0.4%] 12
Improvements ✅
(secondary)
-1.0% [-1.0%, -1.0%] 1
All ❌✅ (primary) 0.0% [-1.1%, 2.9%] 16

Cycles

Results (primary 0.1%, 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.8% [0.5%, 1.4%] 9
Regressions ❌
(secondary)
2.4% [2.4%, 2.4%] 1
Improvements ✅
(primary)
-1.1% [-2.2%, -0.6%] 5
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) 0.1% [-2.2%, 1.4%] 14

Binary size

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

Bootstrap: 490.291s -> 490.201s (-0.02%)
Artifact size: 406.63 MiB -> 406.71 MiB (0.02%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 29, 2026
@dianne

dianne commented Oct 29, 2026

Copy link
Copy Markdown
Member Author

looks like perf's still clean! r? @oli-obk or anyone

@dianne
dianne marked this pull request as ready for review October 29, 2026 12:07
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Oct 29, 2026

@oli-obk oli-obk left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for following up on that.

@bors r+ rollup

View changes since this review

@rust-bors

rust-bors Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 558c1ec has been approved by oli-obk

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 Oct 29, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 29, 2026
…r=oli-obk

remove unnecessary fast path from borrowck

following up on rust-lang#160902 (review), this removes a fast path that was found in rust-lang#163150 to have a negligible performance impact.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 29, 2026
…r=oli-obk

remove unnecessary fast path from borrowck

following up on rust-lang#160902 (review), this removes a fast path that was found in rust-lang#163150 to have a negligible performance impact.
rust-bors Bot pushed a commit that referenced this pull request Oct 29, 2026
…uwer

Rollup of 14 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #165079 (Remove GenericArgRef)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165130 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 29, 2026
…uwer

Rollup of 14 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #165079 (Remove GenericArgRef)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165130 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 29, 2026
…uwer

Rollup of 14 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #165079 (Remove GenericArgRef)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165130 and may need to be recreated if the pending build succeeds.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 30, 2026
…r=oli-obk

remove unnecessary fast path from borrowck

following up on rust-lang#160902 (review), this removes a fast path that was found in rust-lang#163150 to have a negligible performance impact.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 30, 2026
…r=oli-obk

remove unnecessary fast path from borrowck

following up on rust-lang#160902 (review), this removes a fast path that was found in rust-lang#163150 to have a negligible performance impact.
rust-bors Bot pushed a commit that referenced this pull request Oct 30, 2026
…uwer

Rollup of 21 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 30, 2026
…r=oli-obk

remove unnecessary fast path from borrowck

following up on rust-lang#160902 (review), this removes a fast path that was found in rust-lang#163150 to have a negligible performance impact.
rust-bors Bot pushed a commit that referenced this pull request Oct 30, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165148 (ci: increase free disk space on macos-26 jobs)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)

> [!WARNING]
> This rollup conflicts with pending auto build #165205 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165148 (ci: increase free disk space on macos-26 jobs)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)

> [!WARNING]
> This rollup conflicts with pending auto build #165205 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165148 (ci: increase free disk space on macos-26 jobs)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)

> [!WARNING]
> This rollup conflicts with pending auto build #165205 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165233 (Remove test-aarch64-apple-* jobs temporarily)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165217 and may need to be recreated if the pending build succeeds.
@rust-bors
rust-bors Bot merged commit 63450f5 into rust-lang:main Oct 31, 2026
15 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 31, 2026
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
Rollup merge of #165119 - dianne:remove-borrowck-fast-path, r=oli-obk

remove unnecessary fast path from borrowck

following up on #160902 (review), this removes a fast path that was found in #163150 to have a negligible performance impact.
@veluca93

Copy link
Copy Markdown
Contributor

FYI, this change seems to introduce a soundness regression: the following code compiles, but did not before this PR, and segfaults without any unsafe.

#![feature(thread_local)]

#[thread_local]
static TLS: [u8; 64 << 20] = [0; 64 << 20];

fn leak_tls() -> &'static [u8; 64 << 20] {
    &TLS
}

fn main() {
    let dangling = std::thread::spawn(leak_tls).join().unwrap();
    std::hint::black_box(dangling[0]);
}

This was found by a LLM scanner that @cramertj is prototyping -- unfortunately I only managed to confirm the regression just after bors merged the patch :(

@dianne

dianne commented Nov 1, 2026

Copy link
Copy Markdown
Member Author

@veluca93 oops, yep! thanks for the catch. now that I see it, it feels obvious. it's definitely something we should have a test for, so thanks for that as well ^^

on the plus side, I think this should only affect direct uses of #![feature(thread_local)], so as long as the standard library keeps using it soundly, it shouldn't affect stable releases.

still not great! I'll try and get a fix ready soon

eduardorittner pushed a commit to eduardorittner/miri that referenced this pull request Nov 2, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - rust-lang/rust#164851 (Add behavior tests for `Arc` and `Rc`)
 - rust-lang/rust#164989 (rustdoc: Fix performance regression for private documented items)
 - rust-lang/rust#165079 (Remove GenericArgRef)
 - rust-lang/rust#161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - rust-lang/rust#162754 (optimize large elements for slice rotating)
 - rust-lang/rust#163252 (Remove windows-targets dependency from the root workspace)
 - rust-lang/rust#163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - rust-lang/rust#165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - rust-lang/rust#165132 (Implement `advance_back_by` on `Fuse`)
 - rust-lang/rust#165142 (Remove the unused generic Graphviz writer)
 - rust-lang/rust#165233 (Remove test-aarch64-apple-* jobs temporarily)
 - rust-lang/rust#163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - rust-lang/rust#163802 (fix RegionEq direction in canonical query responses)
 - rust-lang/rust#163986 (omit unconditionally invoking crate level limits query)
 - rust-lang/rust#164920 (Point at prior token on `let` when expression is expected)
 - rust-lang/rust#164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - rust-lang/rust#165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - rust-lang/rust#165114 (use native interpreter impl for funnel shifts intrinsics)
 - rust-lang/rust#165119 (remove unnecessary fast path from borrowck)
 - rust-lang/rust#165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - rust-lang/rust#165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - rust-lang/rust#165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165217 and may need to be recreated if the pending build succeeds.
DaniPopes pushed a commit to DaniPopes/rustc_codegen_cranelift that referenced this pull request Nov 4, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - rust-lang/rust#164851 (Add behavior tests for `Arc` and `Rc`)
 - rust-lang/rust#164989 (rustdoc: Fix performance regression for private documented items)
 - rust-lang/rust#165079 (Remove GenericArgRef)
 - rust-lang/rust#161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - rust-lang/rust#162754 (optimize large elements for slice rotating)
 - rust-lang/rust#163252 (Remove windows-targets dependency from the root workspace)
 - rust-lang/rust#163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - rust-lang/rust#165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - rust-lang/rust#165132 (Implement `advance_back_by` on `Fuse`)
 - rust-lang/rust#165142 (Remove the unused generic Graphviz writer)
 - rust-lang/rust#165233 (Remove test-aarch64-apple-* jobs temporarily)
 - rust-lang/rust#163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - rust-lang/rust#163802 (fix RegionEq direction in canonical query responses)
 - rust-lang/rust#163986 (omit unconditionally invoking crate level limits query)
 - rust-lang/rust#164920 (Point at prior token on `let` when expression is expected)
 - rust-lang/rust#164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - rust-lang/rust#165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - rust-lang/rust#165114 (use native interpreter impl for funnel shifts intrinsics)
 - rust-lang/rust#165119 (remove unnecessary fast path from borrowck)
 - rust-lang/rust#165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - rust-lang/rust#165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - rust-lang/rust#165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165217 and may need to be recreated if the pending build succeeds.
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