Skip to content
  • Simon Peyton Jones's avatar
    Fix typechecking of kind signatures · 30b029be
    Simon Peyton Jones authored
    When typechecking a type like
       Maybe (a :: <kind-sig>)
    with a kind signature, we were using tc_lhs_kind to
    typecheck the signature.  But that's utterly wrong; we
    need the signature to be fully solid (non unresolved
    equalities) before using it.  In the case of Trac #14904
    we went on to instantiate the kind signature, when it
    still had embedded unsolved constraints.  This tripped
    the level-checking assertion when unifying a variable.
    
    The fix looks pretty easy to me: just call tcLHsKind
    instead.  I had to add KindSigCtxt to
    30b029be