Fix the bind-recovery type
authorSimon Peyton Jones <simonpj@microsoft.com>
Fri, 15 Jun 2018 08:08:58 +0000 (09:08 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 15 Jun 2018 08:47:06 +0000 (09:47 +0100)
commit807ab222d08c11a4d00064c9835f9ed9f20ffc7c
tree19cefdf5ca3a41693fc559911175c95c723bb35e
parent01c9d95aca12caf5c954320a2a82335b32568554
Fix the bind-recovery type

This patch uses (forall (a::*). a) for the type to
use when recovering from an error in a binding.

Previously (Trac #15276) we had (forall r (a :: TYPE r). a),
which is ill-kinded.

It's quite hard to provoke an error arising from this, because
it only happens in programs that have a type error anyway,
but in a subequent patch I make typeKind fall over if it returns
an ill-scoped kind, and that makes ghci/scripts/T13202 crash
without this fix.
compiler/typecheck/TcBinds.hs