Distribution.Types.AbiDependency

Cabal-2.2.0.1: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.AbiDependency

Synopsis

- data AbiDependency = AbiDependency {
  - depUnitId :: UnitId
  - depAbiHash :: AbiHash
  }

# Documentation

data AbiDependency #

An ABI dependency is a dependency on a library which also records the ABI hash (`abiHash`) of the library it depends on.

The primary utility of this is to enable an extra sanity when GHC loads libraries: it can check if the dependency has a matching ABI and if not, refuse to load this library. This information is critical if we are shadowing libraries; differences in the ABI hash let us know what packages get shadowed by the new version of a package.

Constructors

AbiDependency |
Fields depUnitId :: UnitId depAbiHash :: AbiHash

Instances

Eq AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods (==) :: AbiDependency -> AbiDependency -> Bool # (/=) :: AbiDependency -> AbiDependency -> Bool #
Read AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods readsPrec :: Int -> ReadS AbiDependency Source # readList :: ReadS [AbiDependency] Source # readPrec :: ReadPrec AbiDependency Source # readListPrec :: ReadPrec [AbiDependency] Source #
Show AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods showsPrec :: Int -> AbiDependency -> ShowS Source # show :: AbiDependency -> String Source # showList :: [AbiDependency] -> ShowS Source #
Generic AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Associated Types type Rep AbiDependency :: * -> * Source # Methods from :: AbiDependency -> Rep AbiDependency x Source # to :: Rep AbiDependency x -> AbiDependency Source #
NFData AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods rnf :: AbiDependency -> () Source #
Binary AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods put :: AbiDependency -> Put Source # get :: Get AbiDependency Source # putList :: [AbiDependency] -> Put Source #
Pretty AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods pretty :: AbiDependency -> Doc #
Parsec AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods parsec :: CabalParsing m => m AbiDependency #
Text AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods disp :: AbiDependency -> Doc # parse :: ReadP r AbiDependency #
type Rep AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency type Rep AbiDependency = D1 (MetaData "AbiDependency" "Distribution.Types.AbiDependency" "Cabal-2.2.0.1" False) (C1 (MetaCons "AbiDependency" PrefixI True) (S1 (MetaSel (Just "depUnitId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UnitId) :*: S1 (MetaSel (Just "depAbiHash") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AbiHash)))