diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2020-07-18 23:16:19 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-07-24 18:13:35 -0400 |
commit | ba205046e4f2ea94b1c978c050b917de4daaf092 (patch) | |
tree | 6b249028512e4d08cd0a3581d6f54e3f34868285 /compiler/GHC/Hs/Pat.hs-boot | |
parent | c1f4f81d3a439cd1a8128e4ab11c7caac7cc0ad8 (diff) | |
download | haskell-ba205046e4f2ea94b1c978c050b917de4daaf092.tar.gz |
Care with occCheckExpand in kind of occurrences
Issue #18451 showed that we could get an infinite type, through
over-use of occCheckExpand in the kind of an /occurrence/ of a
type variable.
See Note [Occurrence checking: look inside kinds] in GHC.Core.Type
This patch fixes the problem by making occCheckExpand less eager
to expand synonyms in kinds.
It also improves pretty printing of kinds, by *not* suppressing
the kind on a tyvar-binder like
(a :: Const Type b)
where type Const p q = p. Even though the kind of 'a' is Type,
we don't want to suppress the kind ascription. Example: the
error message for polykinds/T18451{a,b}. See GHC.Core.TyCo.Ppr
Note [Suppressing * kinds].
Diffstat (limited to 'compiler/GHC/Hs/Pat.hs-boot')
0 files changed, 0 insertions, 0 deletions