pub struct DependencyResolver<'file, 'data: 'file> { /* private fields */ }Expand description
An entity for resolving dependencies between packages.
Implementations
sourceimpl<'file, 'data: 'file> DependencyResolver<'file, 'data>
impl<'file, 'data: 'file> DependencyResolver<'file, 'data>
sourcepub fn load_binary_packages(
&mut self,
files: impl Iterator<Item = &'file BinaryPackageControlFile<'data>>
) -> Result<()>
pub fn load_binary_packages(
&mut self,
files: impl Iterator<Item = &'file BinaryPackageControlFile<'data>>
) -> Result<()>
Load an iterable of binary packages into the resolver.
This effectively indexes the given binary package definitions and enables them to be discovered during subsequent dependency resolution.
sourcepub fn find_direct_binary_package_dependencies(
&self,
cf: &BinaryPackageControlFile<'_>,
dep: BinaryDependency
) -> Result<BinaryPackageDependenciesResolution<'file, 'data>>
pub fn find_direct_binary_package_dependencies(
&self,
cf: &BinaryPackageControlFile<'_>,
dep: BinaryDependency
) -> Result<BinaryPackageDependenciesResolution<'file, 'data>>
Find direct dependencies given a binary control file and a dependency field.
This will resolve the specified BinaryDependency field to a list of constraints and then find candidate BinaryPackageControlFile satisfying all requirements within.
sourcepub fn find_transitive_binary_package_dependencies(
&self,
cf: &'file BinaryPackageControlFile<'data>,
fields: impl Iterator<Item = BinaryDependency>
) -> Result<BinaryPackageTransitiveDependenciesResolution<'file, 'data>>
pub fn find_transitive_binary_package_dependencies(
&self,
cf: &'file BinaryPackageControlFile<'data>,
fields: impl Iterator<Item = BinaryDependency>
) -> Result<BinaryPackageTransitiveDependenciesResolution<'file, 'data>>
Resolve binary package dependencies transitively.
Given a binary package control file and an iterable of dependency fields to follow, this function will resolve the complete dependency graph for the given package.
It works by resolving direct dependencies. Then for each direct dependency, it resolves its direct dependencies. And this cycle continues until no new packages are discovered.
Only the dependency fields specified by fields are searched. This allows
callers to e.g. not include Recommends or Suggests dependencies in the
returned set. Callers are strongly encouraged to include
BinaryDependency::Depends and BinaryDependency::PreDepends in this
iterable because the dependency graph will be logically incomplete with them.
Trait Implementations
sourceimpl<'file, 'data: 'file> Clone for DependencyResolver<'file, 'data>
impl<'file, 'data: 'file> Clone for DependencyResolver<'file, 'data>
sourcefn clone(&self) -> DependencyResolver<'file, 'data>
fn clone(&self) -> DependencyResolver<'file, 'data>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<'file, 'data: 'file> Debug for DependencyResolver<'file, 'data>
impl<'file, 'data: 'file> Debug for DependencyResolver<'file, 'data>
sourceimpl<'file, 'data: 'file> Default for DependencyResolver<'file, 'data>
impl<'file, 'data: 'file> Default for DependencyResolver<'file, 'data>
sourcefn default() -> DependencyResolver<'file, 'data>
fn default() -> DependencyResolver<'file, 'data>
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl<'file, 'data> RefUnwindSafe for DependencyResolver<'file, 'data>
impl<'file, 'data> Send for DependencyResolver<'file, 'data>
impl<'file, 'data> Sync for DependencyResolver<'file, 'data>
impl<'file, 'data> Unpin for DependencyResolver<'file, 'data> where
'data: 'file,
impl<'file, 'data> UnwindSafe for DependencyResolver<'file, 'data>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more