summaryrefslogtreecommitdiff
path: root/testsuite/tests/dependent/should_compile/T16344b.hs
Commit message (Collapse)AuthorAgeFilesLines
* Modules: type-checker (#13009)Sylvain Henry2020-04-071-1/+1
| | | | Update Haddock submodule
* Stop inferring over-polymorphic kindsSimon Peyton Jones2019-03-091-0/+10
Before this patch GHC was trying to be too clever (Trac #16344); it succeeded in kind-checking this polymorphic-recursive declaration data T ka (a::ka) b = MkT (T Type Int Bool) (T (Type -> Type) Maybe Bool) As Note [No polymorphic recursion] discusses, the "solution" was horribly fragile. So this patch deletes the key lines in TcHsType, and a wodge of supporting stuff in the renamer. There were two regressions, both the same: a closed type family decl like this (T12785b) does not have a CUSK: type family Payload (n :: Peano) (s :: HTree n x) where Payload Z (Point a) = a Payload (S n) (a `Branch` stru) = a To kind-check the equations we need a dependent kind for Payload, and we don't get that any more. Solution: make it a CUSK by giving the result kind -- probably a good thing anyway. The other case (T12442) was very similar: a close type family declaration without a CUSK.