pub trait Installable<'lock> {
// Required methods
fn install_path(&self) -> &'lock Path;
fn lock(&self) -> &'lock Lock;
fn roots(&self) -> impl Iterator<Item = &PackageName>;
fn project_name(&self) -> Option<&PackageName>;
// Provided methods
fn to_resolution(
&self,
marker_env: &ResolverMarkerEnvironment,
tags: &Tags,
extras: &ExtrasSpecificationWithDefaults,
groups: &DependencyGroupsWithDefaults,
build_options: &BuildOptions,
install_options: &InstallOptions,
) -> Result<Resolution, LockError> { ... }
fn installable_node(
&self,
package: &Package,
tags: &Tags,
marker_env: &ResolverMarkerEnvironment,
build_options: &BuildOptions,
) -> Result<Node, LockError> { ... }
fn non_installable_node(
&self,
package: &Package,
tags: &Tags,
marker_env: &ResolverMarkerEnvironment,
) -> Result<Node, LockError> { ... }
fn package_to_node(
&self,
package: &Package,
tags: &Tags,
build_options: &BuildOptions,
install_options: &InstallOptions,
marker_env: &ResolverMarkerEnvironment,
) -> Result<Node, LockError> { ... }
}Required Methods§
Sourcefn install_path(&self) -> &'lock Path
fn install_path(&self) -> &'lock Path
Return the root install path.
Sourcefn roots(&self) -> impl Iterator<Item = &PackageName>
fn roots(&self) -> impl Iterator<Item = &PackageName>
Return the PackageName of the root packages in the target.
Sourcefn project_name(&self) -> Option<&PackageName>
fn project_name(&self) -> Option<&PackageName>
Return the PackageName of the target, if available.
Provided Methods§
Sourcefn to_resolution(
&self,
marker_env: &ResolverMarkerEnvironment,
tags: &Tags,
extras: &ExtrasSpecificationWithDefaults,
groups: &DependencyGroupsWithDefaults,
build_options: &BuildOptions,
install_options: &InstallOptions,
) -> Result<Resolution, LockError>
fn to_resolution( &self, marker_env: &ResolverMarkerEnvironment, tags: &Tags, extras: &ExtrasSpecificationWithDefaults, groups: &DependencyGroupsWithDefaults, build_options: &BuildOptions, install_options: &InstallOptions, ) -> Result<Resolution, LockError>
Convert the Lock to a Resolution using the given marker environment, tags, and root.
Sourcefn installable_node(
&self,
package: &Package,
tags: &Tags,
marker_env: &ResolverMarkerEnvironment,
build_options: &BuildOptions,
) -> Result<Node, LockError>
fn installable_node( &self, package: &Package, tags: &Tags, marker_env: &ResolverMarkerEnvironment, build_options: &BuildOptions, ) -> Result<Node, LockError>
Sourcefn non_installable_node(
&self,
package: &Package,
tags: &Tags,
marker_env: &ResolverMarkerEnvironment,
) -> Result<Node, LockError>
fn non_installable_node( &self, package: &Package, tags: &Tags, marker_env: &ResolverMarkerEnvironment, ) -> Result<Node, LockError>
Sourcefn package_to_node(
&self,
package: &Package,
tags: &Tags,
build_options: &BuildOptions,
install_options: &InstallOptions,
marker_env: &ResolverMarkerEnvironment,
) -> Result<Node, LockError>
fn package_to_node( &self, package: &Package, tags: &Tags, build_options: &BuildOptions, install_options: &InstallOptions, marker_env: &ResolverMarkerEnvironment, ) -> Result<Node, LockError>
Convert a lockfile entry to a graph Node.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.