Skip to content

Remove divergence check from check_expr_array#154031

Merged
rust-bors[bot] merged 2 commits intorust-lang:mainfrom
TaKO8Ki:fix-153695-never-pattern-array-ice
Mar 27, 2026
Merged

Remove divergence check from check_expr_array#154031
rust-bors[bot] merged 2 commits intorust-lang:mainfrom
TaKO8Ki:fix-153695-never-pattern-array-ice

Conversation

@TaKO8Ki
Copy link
Copy Markdown
Member

@TaKO8Ki TaKO8Ki commented Mar 18, 2026

Fixes #153695.

check_expr_array currently assumes it should only be entered with self.diverges == Diverges::Maybe, but that assumption does not appear to hold in all valid cases. A never-pattern parameter can seed a function or closure body with inherited Diverges::Always, and exprs in that body are still typecked.

@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 Mar 18, 2026
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Mar 18, 2026

r? @davidtwco

rustbot has assigned @davidtwco.
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
  • compiler expanded to 69 candidates
  • Random selection from 14 candidates

@Kivooeo
Copy link
Copy Markdown
Member

Kivooeo commented Mar 18, 2026

cc @chenyukang (as you added this check originally in #147548)

@davidtwco
Copy link
Copy Markdown
Member

r? @chenyukang

@rustbot rustbot assigned chenyukang and unassigned davidtwco Mar 26, 2026
@chenyukang
Copy link
Copy Markdown
Member

@bors r=chenyukang

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Mar 26, 2026

📌 Commit 74909ec has been approved by chenyukang

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 Mar 26, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 26, 2026
…rray-ice, r=chenyukang

Remove divergence check from check_expr_array

Fixes rust-lang#153695.

`check_expr_array` currently assumes it should only be entered with` self.diverges == Diverges::Maybe`, but that assumption does not appear to hold in all valid cases. A never-pattern parameter can seed a function or closure body with inherited `Diverges::Always`, and exprs in that body are still typecked.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 26, 2026
…rray-ice, r=chenyukang

Remove divergence check from check_expr_array

Fixes rust-lang#153695.

`check_expr_array` currently assumes it should only be entered with` self.diverges == Diverges::Maybe`, but that assumption does not appear to hold in all valid cases. A never-pattern parameter can seed a function or closure body with inherited `Diverges::Always`, and exprs in that body are still typecked.
rust-bors bot pushed a commit that referenced this pull request Mar 27, 2026
Rollup of 7 pull requests

Successful merges:

 - #152457 (Pass -pg to linker when using -Zinstrument-mcount)
 - #154031 (Remove divergence check from check_expr_array)
 - #154418 (move many tests out of `ui/unsafe`)
 - #153662 (Suggest fully qualified path on method name collision)
 - #153675 (simd_add/sub/mul/neg: document overflow behavior)
 - #154110 (Change "error finalizing incremental compilation" text and emit it as a note, not a warning)
 - #154430 (Create GPU target notification group)
Zalathar added a commit to Zalathar/rust that referenced this pull request Mar 27, 2026
…rray-ice, r=chenyukang

Remove divergence check from check_expr_array

Fixes rust-lang#153695.

`check_expr_array` currently assumes it should only be entered with` self.diverges == Diverges::Maybe`, but that assumption does not appear to hold in all valid cases. A never-pattern parameter can seed a function or closure body with inherited `Diverges::Always`, and exprs in that body are still typecked.
rust-bors bot pushed a commit that referenced this pull request Mar 27, 2026
Rollup of 7 pull requests

Successful merges:

 - #152457 (Pass -pg to linker when using -Zinstrument-mcount)
 - #154031 (Remove divergence check from check_expr_array)
 - #154418 (move many tests out of `ui/unsafe`)
 - #154441 (bootstrap: force a CI LLVM stamp bump)
 - #153662 (Suggest fully qualified path on method name collision)
 - #153675 (simd_add/sub/mul/neg: document overflow behavior)
 - #154430 (Create GPU target notification group)
rust-bors bot pushed a commit that referenced this pull request Mar 27, 2026
Rollup of 6 pull requests

Successful merges:

 - #152457 (Pass -pg to linker when using -Zinstrument-mcount)
 - #154031 (Remove divergence check from check_expr_array)
 - #154418 (move many tests out of `ui/unsafe`)
 - #154441 (bootstrap: force a CI LLVM stamp bump)
 - #153675 (simd_add/sub/mul/neg: document overflow behavior)
 - #154430 (Create GPU target notification group)
@rust-bors rust-bors bot merged commit 28e0a47 into rust-lang:main Mar 27, 2026
11 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Mar 27, 2026
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.

[ICE]: unexpected divergence state in checking array

5 participants