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
Instances10Eq, Read, Show, Generic, NFData, Binary, …
Eq AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyRead AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyShow AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyGeneric AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyNFData AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyBinary AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyParsec AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyPretty AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencyStructured AbiDependencyDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependencytype Rep AbiDependency = D1 ('MetaDataDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.AbiDependency"AbiDependency"
"Distribution.Types.AbiDependency"
"Cabal-syntax-3.12.1.0-3adc"
'False) (C1 ('MetaCons"AbiDependency"
'PrefixI 'True) (S1 ('MetaSel ('Just"depUnitId"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnitId) :*: S1 ('MetaSel ('Just"depAbiHash"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbiHash)))