Struct cargo::core::resolver::VersionPreferences
source · pub struct VersionPreferences { /* private fields */ }
Expand description
A collection of preferences for particular package versions.
This is built up with Self::prefer_package_id
and Self::prefer_dependency
, then used to sort the set of
summaries for a package during resolution via Self::sort_summaries
.
As written, a version is either “preferred” or “not preferred”. Later extensions may introduce more granular preferences.
Implementations§
source§impl VersionPreferences
impl VersionPreferences
sourcepub fn prefer_package_id(&mut self, pkg_id: PackageId)
pub fn prefer_package_id(&mut self, pkg_id: PackageId)
Indicate that the given package (specified as a PackageId
) should be preferred.
sourcepub fn prefer_dependency(&mut self, dep: Dependency)
pub fn prefer_dependency(&mut self, dep: Dependency)
Indicate that the given package (specified as a Dependency
) should be preferred.
sourcepub fn sort_summaries(
&self,
summaries: &mut Vec<Summary>,
version_ordering: VersionOrdering
)
pub fn sort_summaries( &self, summaries: &mut Vec<Summary>, version_ordering: VersionOrdering )
Sort the given vector of summaries in-place, with all summaries presumed to be for
the same package. Preferred versions appear first in the result, sorted by
version_ordering
, followed by non-preferred versions sorted the same way.
Trait Implementations§
source§impl Default for VersionPreferences
impl Default for VersionPreferences
source§fn default() -> VersionPreferences
fn default() -> VersionPreferences
Returns the “default value” for a type. Read more