Fix Trac #3950: unifying types of different kinds
authorsimonpj@microsoft.com <unknown>
Mon, 12 Apr 2010 15:18:45 +0000 (15:18 +0000)
committersimonpj@microsoft.com <unknown>
Mon, 12 Apr 2010 15:18:45 +0000 (15:18 +0000)
commitf38eb88276e50b562fed84f436f3acee39f48587
tree599fb870acb986f0b7e16917ffc0fdae74d9710f
parent54e73a90c275713c3804239fe61fbd5208cee60f
Fix Trac #3950: unifying types of different kinds

I was assuming that the unifer only unified types of the
same kind, but now we can "defer" unsolved constraints that
invariant no longer holds.  Or at least is's more complicated
to ensure.

This patch takes the path of not assuming the invariant, which
is simpler and more robust.  See
Note [Mismatched type lists and application decomposition]
compiler/typecheck/TcUnify.lhs