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 |