Deal with large extra-contraints wildcards
authorSimon Peyton Jones <simonpj@microsoft.com>
Thu, 21 Sep 2017 16:35:11 +0000 (17:35 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 25 Sep 2017 10:07:23 +0000 (11:07 +0100)
commit3c74a51232813eb733b27c43c94ce005112a0ddb
tree2b571b2641f76166f74c3c7601d649267387c3d1
parentb3ae47caf2f23cfd2c22c29dbfca646493ffe469
Deal with large extra-contraints wildcards

For reasons explained in TcHsType
Note [Extra-constraint holes in partial type signatures],
if we had
  f :: (_) => blahs
and the '_' was filled in by more than a 62-tuple of contraints,
GHC crashed.

The same Note explains the hacky solution I have adopted to
evade this.  Maybe there is some better way, but I couldn't
see one that didn't involve a great deal of work. And the problem
is a very narrow one!  If the hack bites us we'll need to think
again.
compiler/prelude/TysWiredIn.hs
compiler/typecheck/TcBinds.hs
compiler/typecheck/TcHsType.hs
compiler/typecheck/TcMType.hs
testsuite/tests/partial-sigs/should_compile/T14217.hs [new file with mode: 0644]
testsuite/tests/partial-sigs/should_compile/T14217.stderr [new file with mode: 0644]
testsuite/tests/partial-sigs/should_compile/all.T