class Bundler::PubGrub::VersionSolver
def initialize(source:, root: Package.root, logger: Bundler::PubGrub.logger)
def initialize(source:, root: Package.root, logger: Bundler::PubGrub.logger) @logger = logger @source = source # { package => [incompatibility, ...]} @incompatibilities = Hash.new do |h, k| h[k] = [] end @seen_incompatibilities = {} @solution = PartialSolution.new add_incompatibility Incompatibility.new([ Term.new(VersionConstraint.any(root), false) ], cause: :root) propagate(root) end