cabal-install-solver-3.8.1.0: src/Distribution/Solver/Types/SolverId.hs
{-# LANGUAGE DeriveGeneric #-}
module Distribution.Solver.Types.SolverId
( SolverId(..)
)
where
import Distribution.Solver.Compat.Prelude
import Prelude ()
import Distribution.Package (PackageId, Package(..), UnitId)
-- | The solver can produce references to existing packages or
-- packages we plan to install. Unlike 'ConfiguredId' we don't
-- yet know the 'UnitId' for planned packages, because it's
-- not the solver's job to compute them.
--
data SolverId = PreExistingId { solverSrcId :: PackageId, solverInstId :: UnitId }
| PlannedId { solverSrcId :: PackageId }
deriving (Eq, Ord, Generic)
instance Binary SolverId
instance Structured SolverId
instance Show SolverId where
show = show . solverSrcId
instance Package SolverId where
packageId = solverSrcId