Don't ICE when opaque types get their hidden type constrained again.#95471
Merged
bors merged 1 commit intorust-lang:masterfrom Mar 31, 2022
Merged
Don't ICE when opaque types get their hidden type constrained again.#95471bors merged 1 commit intorust-lang:masterfrom
bors merged 1 commit intorust-lang:masterfrom
Conversation
Contrary to popular belief, `codegen_fulfill_obligation` does not get used solely in codegen, so we cannot rely on `param_env` being set to RevealAll and thus revealing the hidden types instead of constraining them.
Contributor
|
r? @estebank (rust-highfive has picked a reviewer for you, use r? to override) |
estebank
reviewed
Mar 30, 2022
Comment on lines
+90
to
+92
| // Opaque types may have gotten their hidden types constrained, but we can ignore them safely | ||
| // as they will get constrained elsewhere, too. | ||
| let _opaque_types = infcx.inner.borrow_mut().opaque_type_storage.take_opaque_types(); |
Contributor
There was a problem hiding this comment.
"We can ignore them safely"
Do we have anything we could do to prevent a refactor from making that not true anymore?
Contributor
Author
There was a problem hiding this comment.
Yea, I can reveal them manually and check that the ones found here are equivalent
Contributor
|
@bors r+ |
Collaborator
|
📌 Commit 1144677 has been approved by |
Dylan-DPC
added a commit
to Dylan-DPC/rust
that referenced
this pull request
Mar 30, 2022
Don't ICE when opaque types get their hidden type constrained again. Contrary to popular belief, `codegen_fulfill_obligation` does not get used solely in codegen, so we cannot rely on `param_env` being set to RevealAll and thus revealing the hidden types instead of constraining them. Fixes rust-lang#89312 (for real this time)
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Mar 31, 2022
Rollup of 5 pull requests Successful merges: - rust-lang#95130 (Stabilize thread::is_finished) - rust-lang#95263 (Restore `impl Future<Output = Type>` to async blocks) - rust-lang#95471 (Don't ICE when opaque types get their hidden type constrained again.) - rust-lang#95491 (Stabilize feature vec_retain_mut on Vec and VecDeque) - rust-lang#95497 (Spellchecking compiler comments) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Alexendoo
added a commit
to Alexendoo/glacier
that referenced
this pull request
Mar 31, 2022
…lang/rust#92007)"" This reverts commit c34cdca. 89312 is fixed by rust-lang/rust#95471 The rest by lazy TAIT take two rust-lang/rust#94081
Alexendoo
added a commit
to rust-lang/glacier
that referenced
this pull request
Mar 31, 2022
…lang/rust#92007)"" This reverts commit c34cdca. 89312 is fixed by rust-lang/rust#95471 The rest by lazy TAIT take two rust-lang/rust#94081 Closes #1189 Closes #1190 Closes #1191 Closes #1192 Closes #1193 Closes #1194 Closes #1195 Closes #1196 Closes #1197 Closes #1198 Closes #1199 Closes #1200 Closes #1201
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.
Contrary to popular belief,
codegen_fulfill_obligationdoes not get used solely in codegen, so we cannot rely onparam_envbeing set to RevealAll and thus revealing the hidden types instead of constraining them.Fixes #89312 (for real this time)