Compiler panic (piResultTy)
Type-checking the following type family
type family F (f :: forall a. g a) :: Type where
F (f :: forall a. g a) = Int
panics with the message:
ghc: panic! (the 'impossible' happened)
(GHC version 8.4.0.20180118 for x86_64-apple-darwin):
piResultTy
k_aVM[tau:1]
a_aVF[sk:1]
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable
pprPanic, called at compiler/types/Type.hs:950:35 in ghc:Type
The panic happens with HEAD, 8.4 and 8.2. 8.0 rejects the program with an error message, but even it panics on the following version:
type family F f :: Type where
F ((f :: forall a. g a) :: forall a. g a) = Int
#14873 (closed) seemed somewhat related, so I tried with the patch implemented in 3d252037, but that fails with the same panic too.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.2.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | #14873 (closed) |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |