Rollup merge of #140678 - compiler-errors:dont-ice-on-infer-in-upvar, r=lcnr

Be a bit more relaxed about not yet constrained infer vars in closure upvar analysis

See the writeup in `tests/ui/closures/opaque-upvar.rs`.

TL;DR is that this has to do with the fact that the recursive revealing uses, which have not yet been constrained from the defining use by the time that closure upvar inference is performed, remain as infer vars during upvar analysis. We don't really care, though, since anywhere we structurally match on a type in upvar analysis, we already call `structurally_resolve_type` right before `.kind()`, which would emit a true ambiguity error.

Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/197

r? lcnr
This commit is contained in:
Stuart Cook 2025-05-06 16:28:43 +10:00 committed by GitHub
commit d76c112cbf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

Diff Content Not Available