packages feed

singletons-base-3.2: tests/compile-and-dump/Singletons/T414.golden

Singletons/T414.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| type C3 :: Bool -> Constraint
          
          class C1 (a :: Bool) where
            type T1 a b
          class C2 a where
            type T2 a b
          class C3 a where
            type T3 a b |]
  ======>
    class C1 (a :: Bool) where
      type family T1 a b
    class C2 a where
      type family T2 a b
    type C3 :: Bool -> Constraint
    class C3 a where
      type family T3 a b
    data T1Sym0 a0123456789876543210
      where
        T1Sym0KindInference :: SameKind (Apply T1Sym0 arg) (T1Sym1 arg) =>
                               T1Sym0 a0123456789876543210
    type instance Apply T1Sym0 a0123456789876543210 = T1Sym1 a0123456789876543210
    instance SuppressUnusedWarnings T1Sym0 where
      suppressUnusedWarnings = snd ((,) T1Sym0KindInference ())
    data T1Sym1 (a0123456789876543210 :: Bool) b0123456789876543210
      where
        T1Sym1KindInference :: SameKind (Apply (T1Sym1 a0123456789876543210) arg) (T1Sym2 a0123456789876543210 arg) =>
                               T1Sym1 a0123456789876543210 b0123456789876543210
    type instance Apply (T1Sym1 a0123456789876543210) b0123456789876543210 = T1 a0123456789876543210 b0123456789876543210
    instance SuppressUnusedWarnings (T1Sym1 a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) T1Sym1KindInference ())
    type family T1Sym2 (a0123456789876543210 :: Bool) b0123456789876543210 where
      T1Sym2 a0123456789876543210 b0123456789876543210 = T1 a0123456789876543210 b0123456789876543210
    class PC1 (a :: Bool)
    data T2Sym0 a0123456789876543210
      where
        T2Sym0KindInference :: SameKind (Apply T2Sym0 arg) (T2Sym1 arg) =>
                               T2Sym0 a0123456789876543210
    type instance Apply T2Sym0 a0123456789876543210 = T2Sym1 a0123456789876543210
    instance SuppressUnusedWarnings T2Sym0 where
      suppressUnusedWarnings = snd ((,) T2Sym0KindInference ())
    data T2Sym1 a0123456789876543210 b0123456789876543210
      where
        T2Sym1KindInference :: SameKind (Apply (T2Sym1 a0123456789876543210) arg) (T2Sym2 a0123456789876543210 arg) =>
                               T2Sym1 a0123456789876543210 b0123456789876543210
    type instance Apply (T2Sym1 a0123456789876543210) b0123456789876543210 = T2 a0123456789876543210 b0123456789876543210
    instance SuppressUnusedWarnings (T2Sym1 a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) T2Sym1KindInference ())
    type family T2Sym2 a0123456789876543210 b0123456789876543210 where
      T2Sym2 a0123456789876543210 b0123456789876543210 = T2 a0123456789876543210 b0123456789876543210
    class PC2 a
    type T3Sym0 :: (~>) Bool ((~>) Type Type)
    data T3Sym0 :: (~>) Bool ((~>) Type Type)
      where
        T3Sym0KindInference :: SameKind (Apply T3Sym0 arg) (T3Sym1 arg) =>
                               T3Sym0 a0123456789876543210
    type instance Apply T3Sym0 a0123456789876543210 = T3Sym1 a0123456789876543210
    instance SuppressUnusedWarnings T3Sym0 where
      suppressUnusedWarnings = snd ((,) T3Sym0KindInference ())
    type T3Sym1 :: Bool -> (~>) Type Type
    data T3Sym1 (a0123456789876543210 :: Bool) :: (~>) Type Type
      where
        T3Sym1KindInference :: SameKind (Apply (T3Sym1 a0123456789876543210) arg) (T3Sym2 a0123456789876543210 arg) =>
                               T3Sym1 a0123456789876543210 a0123456789876543210
    type instance Apply (T3Sym1 a0123456789876543210) a0123456789876543210 = T3 a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings (T3Sym1 a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) T3Sym1KindInference ())
    type T3Sym2 :: Bool -> Type -> Type
    type family T3Sym2 (a0123456789876543210 :: Bool) (a0123456789876543210 :: Type) :: Type where
      T3Sym2 a0123456789876543210 a0123456789876543210 = T3 a0123456789876543210 a0123456789876543210
    type PC3 :: Bool -> Constraint
    class PC3 a
    class SC1 (a :: Bool)
    class SC2 a
    class SC3 a
    type SC3 :: Bool -> Constraint