Turn infinite loop into a panic
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 22 Aug 2018 08:51:26 +0000 (09:51 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 22 Aug 2018 15:28:31 +0000 (16:28 +0100)
commitdb6f1d9cfc74690798645a7cc5b25040c36bb35d
treed878104f195f4f8855861ae8007fd287df5cd276
parent44ba66527ae207ce2dd64eb2bce14656d474f6d1
Turn infinite loop into a panic

In these two functions
  * TcIface.toIfaceAppTyArgsX
  * Type.piResultTys
we take a type application (f t1 .. tn) and try to find
its kind. It turned out that, if (f t1 .. tn) was ill-kinded
the function would go into an infinite loop.

That's not good: it caused the loop in Trac #15473.

This patch doesn't fix the bug in #15473, but it does turn the
loop into a decent panic, which is a step forward.
compiler/iface/ToIface.hs
compiler/types/Type.hs