Distribution.Types.AbiDependency

Cabal-3.2.1.0: 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

Instances details

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 :: Type -> Type Source # Methods from :: AbiDependency -> Rep AbiDependency x Source # to :: Rep AbiDependency x -> AbiDependency Source #
Binary AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods put :: AbiDependency -> Put Source # get :: Get AbiDependency Source # putList :: [AbiDependency] -> Put Source #
NFData AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods rnf :: AbiDependency -> () Source #
Structured AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods structure :: Proxy AbiDependency -> Structure # structureHash' :: Tagged AbiDependency MD5
Pretty AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods pretty :: AbiDependency -> Doc # prettyVersioned :: CabalSpecVersion -> AbiDependency -> Doc #
Parsec AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods parsec :: CabalParsing m => m AbiDependency #
type Rep AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency type Rep AbiDependency = D1 ('MetaData "AbiDependency" "Distribution.Types.AbiDependency" "Cabal-3.2.1.0" 'False) (C1 ('MetaCons "AbiDependency" 'PrefixI 'True) (S1 ('MetaSel ('Just "depUnitId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnitId) :*: S1 ('MetaSel ('Just "depAbiHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbiHash)))