GHC panic, with QuantifiedConstraints
I got a GHC Panic (I made some minor changes to GHC so it may have been added by me) but I think it's caused by the equality constraint
$ ~/code/latestghc/inplace/bin/ghc-stage2 --interactive -ignore-dot-ghci ~/hs/390.hs
GHCi, version 8.7.20180828: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( /home/baldur/hs/390.hs, interpreted )
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 8.7.20180828 for x86_64-unknown-linux):
ASSERT failed!
co_a2DG
df_a2DS @ Any
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1160:37 in ghc:Outputable
pprPanic, called at compiler/utils/Outputable.hs:1219:5 in ghc:Outputable
assertPprPanic, called at compiler/coreSyn/CoreSubst.hs:189:49 in ghc:CoreSubst
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
>
given this code
{-# Language RankNTypes, TypeInType, DataKinds, PolyKinds, TypeOperators, GADTs, FlexibleInstances, MultiParamTypeClasses, ConstraintKinds, CPP, UndecidableSuperClasses, QuantifiedConstraints, FlexibleContexts #-}
import Data.Kind
type Cat ob = ob -> ob -> Type
data KLEISLI (m :: Type -> Type) :: Cat (KL_kind m) where
MkKLEISLI :: (a -> m b) -> KLEISLI(m) (KL a) (KL b)
data KL_kind (m :: Type -> Type) = KL Type
class (a ~ KL xx) => AsKL a xx
instance (a ~ KL xx) => AsKL a xx
ekki__ :: Monad m => (forall xx. AsKL a xx) => KLEISLI m a a
ekki__ = MkKLEISLI undefined