terms
Incompatibility.swift:21let terms: OrderedCollections.OrderedSet<Term>
let terms: OrderedCollections.OrderedSet<Term>
s12PackageGraph15IncompatibilityV5terms18OrderedCollections0E3SetVyAA4TermVGvp
What are these?9FB0E
import PackageGraph
struct Incompatibility
A set of terms that are incompatible with each other and can therefore not all be true at the same time. In dependency resolution, these are derived from version requirements and when running into unresolvable situations.
@frozen struct OrderedSet<Element> where Element : Hashable
An ordered collection of unique elements.
struct Term
A term represents a statement about a package that may be true or false.
init(_ terms: OrderedCollections.OrderedSet<Term>, root: DependencyResolutionNode, cause: Cause) throws
init(_ terms: Term..., root: DependencyResolutionNode, cause: Cause = .root) throws
init(terms: OrderedCollections.OrderedSet<Term>, cause: Cause)
let cause: Cause
var description: String { get }
indirect enum Cause
Every incompatibility has a cause to explain its presence in the derivation graph. Only the root incompatibility uses .root
. All other incompatibilities are either obtained from dependency constraints, decided upon in decision making or derived during unit propagation or conflict resolution. Using this information we can build up a derivation graph by following the tree of causes. All leaf nodes are external dependencies and all internal nodes are derived incompatibilities.