Cabal-syntax-3.12.0.0: A library for working with .cabal files
Safe HaskellNone
LanguageHaskell2010

Distribution.Types.AbiDependency

Synopsis

Documentation

data AbiDependency Source #

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

Instances details
Parsec AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

Pretty AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

Structured AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

Binary AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

NFData AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

Methods

rnf :: AbiDependency -> () Source #

Generic AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

Associated Types

type Rep AbiDependency 
Instance details

Defined in Distribution.Types.AbiDependency

type Rep AbiDependency = D1 ('MetaData "AbiDependency" "Distribution.Types.AbiDependency" "Cabal-syntax-3.12.0.0-a70a" 'False) (C1 ('MetaCons "AbiDependency" 'PrefixI 'True) (S1 ('MetaSel ('Just "depUnitId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnitId) :*: S1 ('MetaSel ('Just "depAbiHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbiHash)))
Read AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

Show AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

Eq AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

type Rep AbiDependency Source # 
Instance details

Defined in Distribution.Types.AbiDependency

type Rep AbiDependency = D1 ('MetaData "AbiDependency" "Distribution.Types.AbiDependency" "Cabal-syntax-3.12.0.0-a70a" 'False) (C1 ('MetaCons "AbiDependency" 'PrefixI 'True) (S1 ('MetaSel ('Just "depUnitId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnitId) :*: S1 ('MetaSel ('Just "depAbiHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbiHash)))