diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2018-06-16 23:50:02 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2018-06-18 08:23:17 +0100 |
commit | 30b029bea9abe1f5f2855d9e7f0ae26a18cf049b (patch) | |
tree | e1b39b481acd76a5d2c4750f24dfa15eca8b4bbd /compiler/simplCore | |
parent | 850ae8c5343b46ce519a35dd9526d7d6f9454455 (diff) | |
download | haskell-30b029bea9abe1f5f2855d9e7f0ae26a18cf049b.tar.gz |
Fix typechecking of kind signatures
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
Diffstat (limited to 'compiler/simplCore')
0 files changed, 0 insertions, 0 deletions