blob: 0383b29dbbb2b34e47bd29bb5e1ee8bfea345187 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
{-# LANGUAGE Haskell2010 #-}
{-# 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)
|