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 |