const package:cabal-install-solver
const x y always evaluates to
x, ignoring its second
argument.
>>> const 42 "hello"
42
>>> map (const 42) [0..3]
[42,42,42,42]
An internal constraint due to compatibility issues with the Setup.hs
command line interface requires a maximum upper bound on Cabal
An internal constraint due to compatibility issues with the Setup.hs
command line interface requires a minimum lower bound on Cabal
Source of a PackageConstraint.
Flag specified on the command line.
Constraint specified by a config file, a command line flag, or a user
target, when a more specific source is not known.
Internal constraint used by cabal freeze.
Main config file, which is ~.cabalconfig by default.
Constraint introduced by --enable-multi-repl, which requires features
from Cabal >= 3.11
Internal requirement to use installed versions of packages like
ghc-prim.
Constraint introduced by --enable-profiling-shared, which requires
features from Cabal >= 3.13
The source of the constraint is not specified.
User config file, which is ./cabal.config by default.
Target specified by the user, e.g., cabal install
package-0.1.0.0 implies package==0.1.0.0.
Determines to what packages and in what contexts a constraint applies.
The conflict set variable represents a package with a constraint that
excluded the specified package and version. For example, the conflict
set entry '(P x, VersionConstraintConflict y (mkVersion [2, 0]))'
means that package x's constraint on y excluded y-2.0.
Convert a
DependencyReason to a
ConflictSet specifying
that the conflict occurred because the conflict set variables
introduced a problematic version constraint. See the documentation for
VersionConstraintConflict.
This function currently only specifies the reason for the conflict in
the simple case where the
DependencyReason does not involve any
flags or stanzas. Otherwise, it falls back to calling
dependencyReasonToConflictSet.