pub enum ResolveVersion {
V1,
V2,
V3,
}
Expand description
A version to indicate how a Cargo.lock
should be serialized. Currently
V2 is the default when creating a new lockfile. If a V1 lockfile already
exists, it will stay as V1.
It’s theorized that we can add more here over time to track larger changes
to the Cargo.lock
format, but we’ve yet to see how that strategy pans out.
Variants
V1
Historical baseline for when this abstraction was added.
V2
A more compact format, more amenable to avoiding source-control merge
conflicts. The dependencies
arrays are compressed and checksums are
listed inline. Introduced in 2019 in version 1.38. New lockfiles use
V2 by default starting in 1.41.
V3
A format that explicitly lists a version
at the top of the file as
well as changing how git dependencies are encoded. Dependencies with
branch = "master"
are no longer encoded the same way as those without
branch specifiers.
Trait Implementations
sourceimpl Clone for ResolveVersion
impl Clone for ResolveVersion
sourcefn clone(&self) -> ResolveVersion
fn clone(&self) -> ResolveVersion
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 Debug for ResolveVersion
impl Debug for ResolveVersion
sourceimpl Default for ResolveVersion
impl Default for ResolveVersion
sourcefn default() -> ResolveVersion
fn default() -> ResolveVersion
The default way to encode new or updated Cargo.lock
files.
It’s important that if a new version of ResolveVersion
is added that
this is not updated until at least the support for the version is in
the stable release of Rust.
This resolve version will be used for all new lock files, for example
those generated by cargo update
(update everything) or building after
a cargo new
(where no lock file previously existed). This is also used
for updated lock files such as when a dependency is added or when a
version requirement changes. In this situation Cargo’s updating the lock
file anyway so it takes the opportunity to bump the lock file version
forward.
sourceimpl Ord for ResolveVersion
impl Ord for ResolveVersion
sourceimpl PartialEq<ResolveVersion> for ResolveVersion
impl PartialEq<ResolveVersion> for ResolveVersion
sourceimpl PartialOrd<ResolveVersion> for ResolveVersion
impl PartialOrd<ResolveVersion> for ResolveVersion
sourcefn partial_cmp(&self, other: &ResolveVersion) -> Option<Ordering>
fn partial_cmp(&self, other: &ResolveVersion) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for ResolveVersion
impl Eq for ResolveVersion
impl StructuralEq for ResolveVersion
impl StructuralPartialEq for ResolveVersion
Auto Trait Implementations
impl RefUnwindSafe for ResolveVersion
impl Send for ResolveVersion
impl Sync for ResolveVersion
impl Unpin for ResolveVersion
impl UnwindSafe for ResolveVersion
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<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.