Skip to content

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented Jun 12, 2023

We call lookup_method a few times in note_source_of_type_mismatch_constraint, but that function has side-effects to the typeck results. Replace it with a less side-effect-y variant of the function for use in diagnostics.

Specifically the ICE in #112532 happens because we're recording deref adjustments twice for a call receiver, which causes ExprUseVisitor to be angry.

Fixes #112532

@rustbot
Copy link
Collaborator

rustbot commented Jun 12, 2023

r? @cjgillot

(rustbot has picked a reviewer for you, use r? to override)

@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 Jun 12, 2023
@cjgillot
Copy link
Contributor

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jun 18, 2023

📌 Commit 696cd98 has been approved by cjgillot

It is now in the queue for this repository.

@bors bors 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 Jun 18, 2023
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 18, 2023
…ments-twice, r=cjgillot

Don't record adjustments twice in `note_source_of_type_mismatch_constraint`

We call `lookup_method` a few times in `note_source_of_type_mismatch_constraint`, but that function has side-effects to the typeck results. Replace it with a less side-effect-y variant of the function for use in diagnostics.

Specifically the ICE in rust-lang#112532 happens because we're recording deref adjustments twice for a call receiver, which causes `ExprUseVisitor` to be angry.

Fixes rust-lang#112532
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 18, 2023
…mpiler-errors

Rollup of 6 pull requests

Successful merges:

 - rust-lang#112537 (Don't record adjustments twice in `note_source_of_type_mismatch_constraint`)
 - rust-lang#112663 (cleanup azure leftovers)
 - rust-lang#112668 (Test `x.ps1` in `msvc` CI job)
 - rust-lang#112710 (Re-use the deref-pattern recursion instead of duplicating the logic)
 - rust-lang#112753 (Don't try to auto-bless 32-bit `mir-opt` tests on ARM Mac hosts)
 - rust-lang#112758 (refactor(resolve): delete update_resolution function)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 90e51f1 into rust-lang:master Jun 19, 2023
@rustbot rustbot added this to the 1.72.0 milestone Jun 19, 2023
@compiler-errors compiler-errors deleted the dont-record-adjustments-twice branch August 11, 2023 19:59
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.

Error compiling with wgpu
4 participants