    {-# LANGUAGE DeriveDataTypeable #-}
    {-# LANGUAGE DeriveGeneric #-}

    module Distribution.Types.DumpBuildInfo
      ( DumpBuildInfo (..)
      ) where

    import Distribution.Compat.Prelude

    data DumpBuildInfo
      = NoDumpBuildInfo
      | DumpBuildInfo
      deriving (ReadPrec [DumpBuildInfo]
    ReadPrec DumpBuildInfo
    Int -> ReadS DumpBuildInfo
    ReadS [DumpBuildInfo]
    (Int -> ReadS DumpBuildInfo)
    -> ReadS [DumpBuildInfo]
    -> ReadPrec DumpBuildInfo
    -> ReadPrec [DumpBuildInfo]
    -> Read DumpBuildInfo
    forall a.
    (Int -> ReadS a)
    -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
    $creadsPrec :: Int -> ReadS DumpBuildInfo
    readsPrec :: Int -> ReadS DumpBuildInfo
    $creadList :: ReadS [DumpBuildInfo]
    readList :: ReadS [DumpBuildInfo]
    $creadPrec :: ReadPrec DumpBuildInfo
    readPrec :: ReadPrec DumpBuildInfo
    $creadListPrec :: ReadPrec [DumpBuildInfo]
    readListPrec :: ReadPrec [DumpBuildInfo]
    Read, Int -> DumpBuildInfo -> ShowS
    [DumpBuildInfo] -> ShowS
    DumpBuildInfo -> String
    (Int -> DumpBuildInfo -> ShowS)
    -> (DumpBuildInfo -> String)
    -> ([DumpBuildInfo] -> ShowS)
    -> Show DumpBuildInfo
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    $cshowsPrec :: Int -> DumpBuildInfo -> ShowS
    showsPrec :: Int -> DumpBuildInfo -> ShowS
    $cshow :: DumpBuildInfo -> String
    show :: DumpBuildInfo -> String
    $cshowList :: [DumpBuildInfo] -> ShowS
    showList :: [DumpBuildInfo] -> ShowS
    Show, DumpBuildInfo -> DumpBuildInfo -> Bool
    (DumpBuildInfo -> DumpBuildInfo -> Bool)
    -> (DumpBuildInfo -> DumpBuildInfo -> Bool) -> Eq DumpBuildInfo
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: DumpBuildInfo -> DumpBuildInfo -> Bool
    == :: DumpBuildInfo -> DumpBuildInfo -> Bool
    $c/= :: DumpBuildInfo -> DumpBuildInfo -> Bool
    /= :: DumpBuildInfo -> DumpBuildInfo -> Bool
    Eq, Eq DumpBuildInfo
    Eq DumpBuildInfo =>
    (DumpBuildInfo -> DumpBuildInfo -> Ordering)
    -> (DumpBuildInfo -> DumpBuildInfo -> Bool)
    -> (DumpBuildInfo -> DumpBuildInfo -> Bool)
    -> (DumpBuildInfo -> DumpBuildInfo -> Bool)
    -> (DumpBuildInfo -> DumpBuildInfo -> Bool)
    -> (DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo)
    -> (DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo)
    -> Ord DumpBuildInfo
    DumpBuildInfo -> DumpBuildInfo -> Bool
    DumpBuildInfo -> DumpBuildInfo -> Ordering
    DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: DumpBuildInfo -> DumpBuildInfo -> Ordering
    compare :: DumpBuildInfo -> DumpBuildInfo -> Ordering
    $c< :: DumpBuildInfo -> DumpBuildInfo -> Bool
    < :: DumpBuildInfo -> DumpBuildInfo -> Bool
    $c<= :: DumpBuildInfo -> DumpBuildInfo -> Bool
    <= :: DumpBuildInfo -> DumpBuildInfo -> Bool
    $c> :: DumpBuildInfo -> DumpBuildInfo -> Bool
    > :: DumpBuildInfo -> DumpBuildInfo -> Bool
    $c>= :: DumpBuildInfo -> DumpBuildInfo -> Bool
    >= :: DumpBuildInfo -> DumpBuildInfo -> Bool
    $cmax :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo
    max :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo
    $cmin :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo
    min :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo
    Ord, Int -> DumpBuildInfo
    DumpBuildInfo -> Int
    DumpBuildInfo -> [DumpBuildInfo]
    DumpBuildInfo -> DumpBuildInfo
    DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    (DumpBuildInfo -> DumpBuildInfo)
    -> (DumpBuildInfo -> DumpBuildInfo)
    -> (Int -> DumpBuildInfo)
    -> (DumpBuildInfo -> Int)
    -> (DumpBuildInfo -> [DumpBuildInfo])
    -> (DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo])
    -> (DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo])
    -> (DumpBuildInfo
        -> DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo])
    -> Enum DumpBuildInfo
    forall a.
    (a -> a)
    -> (a -> a)
    -> (Int -> a)
    -> (a -> Int)
    -> (a -> [a])
    -> (a -> a -> [a])
    -> (a -> a -> [a])
    -> (a -> a -> a -> [a])
    -> Enum a
    $csucc :: DumpBuildInfo -> DumpBuildInfo
    succ :: DumpBuildInfo -> DumpBuildInfo
    $cpred :: DumpBuildInfo -> DumpBuildInfo
    pred :: DumpBuildInfo -> DumpBuildInfo
    $ctoEnum :: Int -> DumpBuildInfo
    toEnum :: Int -> DumpBuildInfo
    $cfromEnum :: DumpBuildInfo -> Int
    fromEnum :: DumpBuildInfo -> Int
    $cenumFrom :: DumpBuildInfo -> [DumpBuildInfo]
    enumFrom :: DumpBuildInfo -> [DumpBuildInfo]
    $cenumFromThen :: DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    enumFromThen :: DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    $cenumFromTo :: DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    enumFromTo :: DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    $cenumFromThenTo :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    enumFromThenTo :: DumpBuildInfo -> DumpBuildInfo -> DumpBuildInfo -> [DumpBuildInfo]
    Enum, DumpBuildInfo
    DumpBuildInfo -> DumpBuildInfo -> Bounded DumpBuildInfo
    forall a. a -> a -> Bounded a
    $cminBound :: DumpBuildInfo
    minBound :: DumpBuildInfo
    $cmaxBound :: DumpBuildInfo
    maxBound :: DumpBuildInfo
    Bounded, (forall x. DumpBuildInfo -> Rep DumpBuildInfo x)
    -> (forall x. Rep DumpBuildInfo x -> DumpBuildInfo)
    -> Generic DumpBuildInfo
    forall x. Rep DumpBuildInfo x -> DumpBuildInfo
    forall x. DumpBuildInfo -> Rep DumpBuildInfo x
    forall a.
    (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
    $cfrom :: forall x. DumpBuildInfo -> Rep DumpBuildInfo x
    from :: forall x. DumpBuildInfo -> Rep DumpBuildInfo x
    $cto :: forall x. Rep DumpBuildInfo x -> DumpBuildInfo
    to :: forall x. Rep DumpBuildInfo x -> DumpBuildInfo
    Generic, Typeable)

    instance Binary DumpBuildInfo
    instance Structured DumpBuildInfo