Skip to content

Allow type family in data family return kind

GHC currently allows

data family DF1 :: k1 -> k2

where it's expected (and checked) that all data instances have a return kind of Type. (Perhaps k2 expands to Type -> Type, for example.)

However, it rejects

type family TF (x :: Type) :: Type
data family DF2 :: x -> TF x

when that's clearly just as sensible as the first definition.

Trac metadata
Trac field Value
Version 8.4.1-alpha1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information