packages feed

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