singletons-2.6: tests/compile-and-dump/Singletons/PolyKinds.ghc88.template
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 FffSym1 (arg0123456789876543210 :: Proxy (a0123456789876543210 :: k0123456789876543210)) =
Fff arg0123456789876543210
instance SuppressUnusedWarnings FffSym0 where
suppressUnusedWarnings = snd (((,) FffSym0KindInference) ())
data FffSym0 :: forall k0123456789876543210
(a0123456789876543210 :: k0123456789876543210).
(~>) (Proxy (a0123456789876543210 :: k0123456789876543210)) ()
where
FffSym0KindInference :: forall arg0123456789876543210
arg. SameKind (Apply FffSym0 arg) (FffSym1 arg) =>
FffSym0 arg0123456789876543210
type instance Apply FffSym0 arg0123456789876543210 = Fff arg0123456789876543210
class PCls (a :: k) where
type 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