normaliseType is not well-kinded
Suppose we have
Proxy :: forall k. k -> Type
type family F a
type instance F Int = Bool
and we're trying to normalise the target
Proxy (F Int) x
Clearly, for this target to be well kinded, we need x :: F Int
. Currently, the output of normaliseType
is Proxy Bool x
, which is just plain wrong.
I need to implement logic like in flatten_args
on my branch in normaliseType
to fix this.
Trac metadata
Trac field | Value |
---|---|
Version | 8.2.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |