packages feed

singletons-base-3.5: tests/compile-and-dump/Singletons/T563.golden

Singletons/T563.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| infixr 6 `unFoo`
          
          data Foo = MkFoo {unFoo :: Bool} |]
  ======>
    infixr 6 `unFoo`
    data Foo = MkFoo {unFoo :: Bool}
    type MkFooSym0 :: (~>) Bool Foo
    data MkFooSym0 :: (~>) Bool Foo
      where
        MkFooSym0KindInference :: SameKind (Apply MkFooSym0 arg) (MkFooSym1 arg) =>
                                  MkFooSym0 a0123456789876543210
    type instance Apply @Bool @Foo MkFooSym0 a0123456789876543210 = MkFoo a0123456789876543210
    instance SuppressUnusedWarnings MkFooSym0 where
      suppressUnusedWarnings = snd ((,) MkFooSym0KindInference ())
    type MkFooSym1 :: Bool -> Foo
    type family MkFooSym1 (a0123456789876543210 :: Bool) :: Foo where
      MkFooSym1 a0123456789876543210 = MkFoo a0123456789876543210
    data SFoo :: Foo -> Type
      where
        SMkFoo :: forall (n :: Bool). (Sing n) -> SFoo (MkFoo n :: Foo)
    type instance Sing @Foo = SFoo
    instance SingKind Foo where
      type Demote Foo = Foo
      fromSing (SMkFoo b) = MkFoo (fromSing b)
      toSing (MkFoo (b :: Demote Bool))
        = (\cases (SomeSing c) -> SomeSing (SMkFoo c))
            (toSing b :: SomeSing Bool)
    instance SingI n => SingI (MkFoo (n :: Bool)) where
      sing = SMkFoo sing
    instance SingI1 MkFoo where
      liftSing = SMkFoo
    instance SingI (MkFooSym0 :: (~>) Bool Foo) where
      sing = singFun1 @MkFooSym0 SMkFoo
Singletons/T563.hs:(0,0)-(0,0): Splicing declarations
    singletonsOnly
      [d| unFoo' :: Foo -> Bool
          unFoo' = unFoo |]
  ======>
    type UnFoo'Sym0 :: (~>) Foo Bool
    data UnFoo'Sym0 :: (~>) Foo Bool
      where
        UnFoo'Sym0KindInference :: SameKind (Apply UnFoo'Sym0 arg) (UnFoo'Sym1 arg) =>
                                   UnFoo'Sym0 a0123456789876543210
    type instance Apply @Foo @Bool UnFoo'Sym0 a0123456789876543210 = UnFoo' a0123456789876543210
    instance SuppressUnusedWarnings UnFoo'Sym0 where
      suppressUnusedWarnings = snd ((,) UnFoo'Sym0KindInference ())
    type UnFoo'Sym1 :: Foo -> Bool
    type family UnFoo'Sym1 (a0123456789876543210 :: Foo) :: Bool where
      UnFoo'Sym1 a0123456789876543210 = UnFoo' a0123456789876543210
    type UnFoo' :: Foo -> Bool
    type family UnFoo' (a :: Foo) :: Bool where
      UnFoo' a_0123456789876543210 = Apply UnFooSym0 a_0123456789876543210
    sUnFoo' ::
      (forall (t :: Foo). Sing t -> Sing (UnFoo' t :: Bool) :: Type)
    sUnFoo' (sA_0123456789876543210 :: Sing a_0123456789876543210)
      = applySing sUnFoo sA_0123456789876543210
    instance SingI (UnFoo'Sym0 :: (~>) Foo Bool) where
      sing = singFun1 @UnFoo'Sym0 sUnFoo'
Singletons/T563.hs:0:0: error: [GHC-76037]
    Not in scope: type constructor or class ‘UnFooSym0’
    Suggested fix:
      Perhaps use one of these:
        ‘UnFoo'Sym0’ (line 13), ‘MkFooSym0’ (line 7),
        ‘UnFoo'Sym1’ (line 13)
   |
13 | $(singletonsOnly [d|
   |  ^^^^^^^^^^^^^^^^^^^...