swift
7a2eb000 - [Constraint solver] Perform the "occurs" check properly.

Commit
8 years ago
[Constraint solver] Perform the "occurs" check properly. We've been performing the "occurs" check when computing potential bindings for type variables, but we weren't actually performing the check for bindings that *must* occur. Perform the occurs check before binding type variables, which fixes a few crashers and is far more principled. Note that this obviates the need for tracking the type variables we've substituted in simplifyType(), so simplify that as well. Fixes rdar://problem/27879334 / SR-2351. (cherry picked from commit 4cc41e5e6424ecdf82dde51db2f918e727062544)
Author
Committer
Parents
Loading