GHC panic using visible kind application
{-# Language RankNTypes #-}
{-# Language TypeFamilies #-}
{-# Language ScopedTypeVariables #-}
{-# Language TypeApplications #-}
{-# Language DataKinds #-}
{-# Language PolyKinds #-}
{-# Language TypeOperators #-}
{-# Language GADTs #-}
{-# Options_GHC -dcore-lint #-}
import Data.Kind
class Ríki (obj :: Type) where
type Obj :: obj -> Constraint
type Obj = Bæ @obj
class Bæ (a :: k)
instance Bæ @k (a :: k)
data
EQ :: forall ob. ob -> ob -> Type where
EQ :: EQ a a
instance
Ríki (EQ @ob)
$ ghci -dcore-lint 568_bug.hs
GHCi, version 8.7.20181017: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( 568_bug.hs, interpreted )
WARNING: file compiler/types/TyCoRep.hs, line 2567
in_scope InScope {ob_a1zs co_a1zt}
tenv []
cenv [a1zt :-> co_a1zt]
tys [Bæ]
cos []
needInScope [a1zn :-> co_a1zn, a1zs :-> ob_a1zs]
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 8.7.20181017 for x86_64-unknown-linux):
Core Lint error
<no location info>: warning:
In the type ‘Bæ’
Unfilled coercion hole: {co_a1zn}
<no location info>: warning:
In the type ‘Bæ’
co_a1zn :: (ob_a1zs -> ob_a1zs -> *) ~# *
[LclId[CoVarId]] is out of scope
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1160:37 in ghc:Outputable
pprPanic, called at compiler/typecheck/FamInst.hs:171:31 in ghc:FamInst
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
>
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | mnguyen |
| Operating system | |
| Architecture |