singletons-1.0: tests/compile-and-dump/Promote/Newtypes.ghc78.template
Promote/Newtypes.hs:0:0: Splicing declarations
promote
[d| newtype Foo
= Foo Nat
deriving (Eq)
newtype Bar = Bar {unBar :: Nat} |]
======>
Promote/Newtypes.hs:(0,0)-(0,0)
newtype Foo
= Foo Nat
deriving (Eq)
newtype Bar = Bar {unBar :: Nat}
type UnBarSym1 (t :: Bar) = UnBar t
instance SuppressUnusedWarnings UnBarSym0 where
suppressUnusedWarnings _
= snd (GHC.Tuple.(,) UnBarSym0KindInference GHC.Tuple.())
data UnBarSym0 (l :: TyFun Bar Nat)
= forall arg. (GHC.Types.~) (KindOf (Apply UnBarSym0 arg)) (KindOf (UnBarSym1 arg)) =>
UnBarSym0KindInference
type instance Apply UnBarSym0 l = UnBarSym1 l
type family UnBar (a :: Bar) :: Nat where
UnBar (Bar field) = field
type family Equals_0123456789 (a :: Foo) (b :: Foo) :: Bool where
Equals_0123456789 (Foo a) (Foo b) = (:==) a b
Equals_0123456789 (a :: Foo) (b :: Foo) = FalseSym0
instance PEq (KProxy :: KProxy Foo) where
type (:==) (a :: Foo) (b :: Foo) = Equals_0123456789 a b
type FooSym1 (t :: Nat) = Foo t
instance SuppressUnusedWarnings FooSym0 where
suppressUnusedWarnings _
= snd (GHC.Tuple.(,) FooSym0KindInference GHC.Tuple.())
data FooSym0 (l :: TyFun Nat Foo)
= forall arg. (GHC.Types.~) (KindOf (Apply FooSym0 arg)) (KindOf (FooSym1 arg)) =>
FooSym0KindInference
type instance Apply FooSym0 l = FooSym1 l
type BarSym1 (t :: Nat) = Bar t
instance SuppressUnusedWarnings BarSym0 where
suppressUnusedWarnings _
= snd (GHC.Tuple.(,) BarSym0KindInference GHC.Tuple.())
data BarSym0 (l :: TyFun Nat Bar)
= forall arg. (GHC.Types.~) (KindOf (Apply BarSym0 arg)) (KindOf (BarSym1 arg)) =>
BarSym0KindInference
type instance Apply BarSym0 l = BarSym1 l