Cabal-2.2.0.1: A framework for packaging Haskell software

Safe HaskellNone
LanguageHaskell2010

Distribution.Types.AbiDependency

Synopsis

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 
Instances
Eq AbiDependency # 
Instance details
Read AbiDependency # 
Instance details
Show AbiDependency # 
Instance details
Generic AbiDependency # 
Instance details

Associated Types

type Rep AbiDependency :: * -> * #

Binary AbiDependency # 
Instance details
NFData AbiDependency # 
Instance details

Methods

rnf :: AbiDependency -> () #

Pretty AbiDependency # 
Instance details

Methods

pretty :: AbiDependency -> Doc #

Parsec AbiDependency # 
Instance details
Text AbiDependency # 
Instance details
type Rep AbiDependency # 
Instance details
type Rep AbiDependency = D1 (MetaData "AbiDependency" "Distribution.Types.AbiDependency" "Cabal-2.2.0.1-JS0vobxWxH7sbYKd0omMO" False) (C1 (MetaCons "AbiDependency" PrefixI True) (S1 (MetaSel (Just "depUnitId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UnitId) :*: S1 (MetaSel (Just "depAbiHash") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AbiHash)))