singletons-base-3.1: tests/compile-and-dump/Singletons/PolyKinds.golden
Singletons/PolyKinds.hs:(0,0)-(0,0): Splicing declarations
singletons
[d| class Cls (a :: k) where
fff :: Proxy (a :: k) -> () |]
======>
class Cls (a :: k) where
fff :: Proxy (a :: k) -> ()
type FffSym0 :: forall k (a :: k). (~>) (Proxy (a :: k)) ()
data FffSym0 :: (~>) (Proxy (a :: k)) ()
where
FffSym0KindInference :: SameKind (Apply FffSym0 arg) (FffSym1 arg) =>
FffSym0 a0123456789876543210
type instance Apply FffSym0 a0123456789876543210 = Fff a0123456789876543210
instance SuppressUnusedWarnings FffSym0 where
suppressUnusedWarnings = snd (((,) FffSym0KindInference) ())
type FffSym1 :: forall k (a :: k). Proxy (a :: k) -> ()
type family FffSym1 (a0123456789876543210 :: Proxy (a :: k)) :: () where
FffSym1 a0123456789876543210 = Fff a0123456789876543210
class PCls (a :: k) where
type family Fff (arg :: Proxy (a :: k)) :: ()
class SCls (a :: k) where
sFff ::
forall (t :: Proxy (a :: k)). Sing t
-> Sing (Apply FffSym0 t :: ())
instance SCls a =>
SingI (FffSym0 :: (~>) (Proxy (a :: k)) ()) where
sing = (singFun1 @FffSym0) sFff