singletons-base-3.2: tests/compile-and-dump/Singletons/FunctorLikeDeriving.hs
-- Ensure that we can derive Functor, Foldable, and Traversable using only
-- an import of Data.Singletons.TH
module FunctorLikeDeriving where
import Data.Kind
import Data.Singletons.Base.TH
$(singletons [d|
data T x a
= MkT1 x a (Maybe a) (Maybe (Maybe a))
| MkT2 (Maybe x)
deriving (Functor, Foldable, Traversable)
data Empty (a :: Type)
deriving (Functor, Foldable, Traversable)
|])