mod package_solve

module package_solve

Resolvo-backed lock generation for a materialized package profile.

Functions

fn solve_package_profile(plan: &PackagePlan, profile_name: &str, environment: &ProfileEnvironment, candidates: &[Candidate], stack_policy: &StackPolicy) -> Result<ProfileLock, ProfileSolveError>

Select dependencies for one profile against a candidate set.

fn solve_package_profile_with_hierarchy(plan: &PackagePlan, profile_name: &str, environment: &ProfileEnvironment, candidates: &[Candidate], stack_policy: &StackPolicy, hierarchy_fixture: Option<&Path>) -> Result<ProfileLock, ProfileSolveError>

As solve_package_profile, resolving against a toolchain hierarchy so a dependency may be taken from a subtoolchain.

fn unsatisfied_direct_dependencies(plan: &PackagePlan, profile_name: &str, environment: &ProfileEnvironment, candidates: &[Candidate], stack_policy: &StackPolicy) -> Result<Vec<UnsatisfiedDirectDependency>, ProfileSolveError>

List direct dependencies that have no compatible candidate after hierarchy admission and stack-pin closure expansion.

fn unsatisfied_direct_dependencies_with_hierarchy(plan: &PackagePlan, profile_name: &str, environment: &ProfileEnvironment, candidates: &[Candidate], stack_policy: &StackPolicy, hierarchy_fixture: Option<&Path>) -> Result<Vec<UnsatisfiedDirectDependency>, ProfileSolveError>

Like unsatisfied_direct_dependencies, with an optional hierarchy fixture.

Enums

enum ProfileSolveError

Why a profile’s dependencies could not be selected.

Materialize(String)

The profile’s conditions could not be resolved.

Resolve(String)

No selection satisfies the profile.

MissingSelection(String)

A required dependency has no selection in the result.

Structs and Unions

struct UnsatisfiedDirectDependency

A direct profile dependency with no compatible candidate in the universe.

Detected by inspecting the admitted candidate set — never by parsing Resolvo or solver error text.

name: String

Dependency name.

version_req: String

Version requirement it must satisfy.

build: bool

True for a build-time-only dependency.