Data types with higher-rank kinds are pretty-printed strangely
First observed in #13399 (closed)##13409 (closed). If you define this:
data Foo :: (* -> *) -> (forall k. k -> *)
and type :i Foo
into GHCi, you get this back:
type role Foo phantom nominal phantom
data Foo (a :: * -> *) k (c :: k)
This seems to imply that Foo has three visible type parameters, which isn't true at all!
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |