Build more implications
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 25 Jul 2018 08:51:38 +0000 (09:51 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 25 Jul 2018 08:51:38 +0000 (09:51 +0100)
commit6c19112ece09a098c71faac1f7a58dbb1e63ee71
tree1f700e67e365d6965bb75d2d8707a560f0adbd7e
parent0dc86f6bc454253969dedc31bed477eded4cf82d
Build more implications

The "non-local error" problem in Trac #14185 was due to the
interaction of constraints from different function definitions.

This patch makes a start towards fixing it.  It adds
TcUnify.alwaysBuildImplication to unconditionally build an
implication in some cases, to keep the constraints from different
functions separate.

See the new Note [When to build an implication] in TcUnify.

But a lot of error messages change, so for now I have set
   alwaysBuildImplication = False

Result: no operational change at all.  I'll get back to it!
compiler/typecheck/TcUnify.hs