packages feed

singletons-base-3.3: tests/compile-and-dump/Promote/Constructors.golden

Promote/Constructors.hs:(0,0)-(0,0): Splicing declarations
    promote
      [d| data Foo = Foo | Foo :+ Foo
          data Bar = Bar Bar Bar Bar Bar Foo |]
  ======>
    data Foo = Foo | Foo :+ Foo
    data Bar = Bar Bar Bar Bar Bar Foo
    type FooSym0 :: Foo
    type family FooSym0 :: Foo where
      FooSym0 = Foo
    type (:+@#@$) :: (~>) Foo ((~>) Foo Foo)
    data (:+@#@$) :: (~>) Foo ((~>) Foo Foo)
      where
        (::+@#@$###) :: SameKind (Apply (:+@#@$) arg) ((:+@#@$$) arg) =>
                        (:+@#@$) a0123456789876543210
    type instance Apply (:+@#@$) a0123456789876543210 = (:+@#@$$) a0123456789876543210
    instance SuppressUnusedWarnings (:+@#@$) where
      suppressUnusedWarnings = snd ((,) (::+@#@$###) ())
    type (:+@#@$$) :: Foo -> (~>) Foo Foo
    data (:+@#@$$) (a0123456789876543210 :: Foo) :: (~>) Foo Foo
      where
        (::+@#@$$###) :: SameKind (Apply ((:+@#@$$) a0123456789876543210) arg) ((:+@#@$$$) a0123456789876543210 arg) =>
                         (:+@#@$$) a0123456789876543210 a0123456789876543210
    type instance Apply ((:+@#@$$) a0123456789876543210) a0123456789876543210 = (:+) a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings ((:+@#@$$) a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) (::+@#@$$###) ())
    type (:+@#@$$$) :: Foo -> Foo -> Foo
    type family (:+@#@$$$) (a0123456789876543210 :: Foo) (a0123456789876543210 :: Foo) :: Foo where
      (:+@#@$$$) a0123456789876543210 a0123456789876543210 = (:+) a0123456789876543210 a0123456789876543210
    type BarSym0 :: (~>) Bar ((~>) Bar ((~>) Bar ((~>) Bar ((~>) Foo Bar))))
    data BarSym0 :: (~>) Bar ((~>) Bar ((~>) Bar ((~>) Bar ((~>) Foo Bar))))
      where
        BarSym0KindInference :: SameKind (Apply BarSym0 arg) (BarSym1 arg) =>
                                BarSym0 a0123456789876543210
    type instance Apply BarSym0 a0123456789876543210 = BarSym1 a0123456789876543210
    instance SuppressUnusedWarnings BarSym0 where
      suppressUnusedWarnings = snd ((,) BarSym0KindInference ())
    type BarSym1 :: Bar
                    -> (~>) Bar ((~>) Bar ((~>) Bar ((~>) Foo Bar)))
    data BarSym1 (a0123456789876543210 :: Bar) :: (~>) Bar ((~>) Bar ((~>) Bar ((~>) Foo Bar)))
      where
        BarSym1KindInference :: SameKind (Apply (BarSym1 a0123456789876543210) arg) (BarSym2 a0123456789876543210 arg) =>
                                BarSym1 a0123456789876543210 a0123456789876543210
    type instance Apply (BarSym1 a0123456789876543210) a0123456789876543210 = BarSym2 a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings (BarSym1 a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) BarSym1KindInference ())
    type BarSym2 :: Bar -> Bar -> (~>) Bar ((~>) Bar ((~>) Foo Bar))
    data BarSym2 (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) :: (~>) Bar ((~>) Bar ((~>) Foo Bar))
      where
        BarSym2KindInference :: SameKind (Apply (BarSym2 a0123456789876543210 a0123456789876543210) arg) (BarSym3 a0123456789876543210 a0123456789876543210 arg) =>
                                BarSym2 a0123456789876543210 a0123456789876543210 a0123456789876543210
    type instance Apply (BarSym2 a0123456789876543210 a0123456789876543210) a0123456789876543210 = BarSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings (BarSym2 a0123456789876543210 a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) BarSym2KindInference ())
    type BarSym3 :: Bar -> Bar -> Bar -> (~>) Bar ((~>) Foo Bar)
    data BarSym3 (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) :: (~>) Bar ((~>) Foo Bar)
      where
        BarSym3KindInference :: SameKind (Apply (BarSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) arg) (BarSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 arg) =>
                                BarSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210
    type instance Apply (BarSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) a0123456789876543210 = BarSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings (BarSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) BarSym3KindInference ())
    type BarSym4 :: Bar -> Bar -> Bar -> Bar -> (~>) Foo Bar
    data BarSym4 (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) :: (~>) Foo Bar
      where
        BarSym4KindInference :: SameKind (Apply (BarSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210) arg) (BarSym5 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 arg) =>
                                BarSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210
    type instance Apply (BarSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210) a0123456789876543210 = Bar a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings (BarSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) BarSym4KindInference ())
    type BarSym5 :: Bar -> Bar -> Bar -> Bar -> Foo -> Bar
    type family BarSym5 (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) (a0123456789876543210 :: Bar) (a0123456789876543210 :: Foo) :: Bar where
      BarSym5 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = Bar a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210