blob: 383ce8f9f78e4749a7f3ebe3257c753c1a89df0e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
{-# LANGUAGE RoleAnnotations #-}
{-# LANGUAGE DeriveTraversable, DeriveGeneric, EmptyCase,
DeriveDataTypeable, StandaloneDeriving, DeriveLift #-}
module DrvEmptyData where
import GHC.Generics (Generic, Generic1)
import Data.Data (Data)
import Language.Haskell.TH.Syntax (Lift)
data Void a deriving (Functor, Foldable, Traversable, Generic, Generic1, Lift)
-- We don't want to invoke the special case for phantom types here.
type role Void nominal
deriving instance Data a => Data (Void a)
deriving instance Eq (Void a)
deriving instance Ord (Void a)
deriving instance Show (Void a)
deriving instance Read (Void a)
|