about summary refs log tree commit diff
path: root/compiler/rustc_interface/src/interface.rs
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2024-04-09 13:39:23 +0200
committerGitHub <noreply@github.com>2024-04-09 13:39:23 +0200
commite5b2935dc16b3c7ff28349cce54b3f4428c4ca0b (patch)
tree3dc7ab3b8381afd8724ac7e845f23bd928ca4e3f /compiler/rustc_interface/src/interface.rs
parentcfe1faa75df166f79482b9553253c104712aa9bd (diff)
parent6f96d7d012fba4064e40a9698e6cfc6a3d941e0a (diff)
downloadrust-e5b2935dc16b3c7ff28349cce54b3f4428c4ca0b.tar.gz
rust-e5b2935dc16b3c7ff28349cce54b3f4428c4ca0b.zip
Rollup merge of #123662 - compiler-errors:no-upvars-yet, r=oli-obk
Don't rely on upvars being assigned just because coroutine-closure kind is assigned

Previously, code relied on the implicit assumption that if a coroutine-closure's kind variable was constrained, then its upvars were also constrained. This is because we assign all of them at once at the end up upvar analysis.

However, there's another way that a coroutine-closure's kind can be constrained: from a signature hint in closure signature deduction. After #123350, we use these hints, which means the implicit assumption above no longer holds.

This PR adds the necessary checks so that we don't ICE.

r? oli-obk
Diffstat (limited to 'compiler/rustc_interface/src/interface.rs')
0 files changed, 0 insertions, 0 deletions