Avoid ICE when suggesting as_ref for ill-typed closure receivers#156301
Merged
rust-bors[bot] merged 2 commits intoMay 8, 2026
Merged
Conversation
Collaborator
|
rustbot has assigned @jdonszelmann. Use Why was this reviewer chosen?The reviewer was selected based on:
|
wesleywiser
approved these changes
May 8, 2026
Member
|
@bors r+ rollup |
Contributor
rust-bors Bot
pushed a commit
that referenced
this pull request
May 8, 2026
…uwer Rollup of 4 pull requests Successful merges: - #156246 (Introduce a `RerunNonErased` error type mirroring `NoSolution`, to better track when we're bailing) - #156038 (turn `compute_goal_fast_path` into a single match) - #156291 (Treat MSVC "performing full link" message as informational) - #156301 (Avoid ICE when suggesting as_ref for ill-typed closure receivers)
rust-timer
added a commit
that referenced
this pull request
May 8, 2026
Rollup merge of #156301 - TaKO8Ki:fix-156299-closure-receiver-suggestion-ice, r=wesleywiser Avoid ICE when suggesting as_ref for ill-typed closure receivers Fixes #156299 When building mismatch suggestions, `can_use_as_ref` may inspect the receiver of a method call that is itself an ill-typed closure expression. In that recovery path, the receiver may not have a recorded type in `TypeckResults`. Use `expr_ty_opt` instead of `expr_ty` so the optional `as_ref()` suggestion is skipped when the receiver type is unavailable.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #156299
When building mismatch suggestions,
can_use_as_refmay inspect the receiver of a method call that is itself an ill-typed closure expression. In that recovery path, the receiver may not have a recorded type inTypeckResults.Use
expr_ty_optinstead ofexpr_tyso the optionalas_ref()suggestion is skipped when the receiver type is unavailable.