#[repr(C, align(8))]pub enum VersionComparator {
Exact = 0,
Greater = 1,
GreaterEqual = 2,
Less = 3,
LessEqual = 4,
Tilde = 5,
Caret = 6,
Wildcard = 7,
}Expand description
SemVer comparison operator: =, >, >=, <, <=, ~, ^, *.
§Op::Exact
-
=I.J.K— exactly the version I.J.K -
=I.J— equivalent to>=I.J.0, <I.(J+1).0 -
=I— equivalent to>=I.0.0, <(I+1).0.0
§Op::Wildcard
-
I.J.*— equivalent to=I.J -
I.*orI.*.*— equivalent to=I
§Op::Greater
-
>I.J.K -
>I.J— equivalent to>=I.(J+1).0 -
>I— equivalent to>=(I+1).0.0
§Op::GreaterEq
-
>=I.J.K -
>=I.J— equivalent to>=I.J.0 -
>=I— equivalent to>=I.0.0
§Op::Less
-
<I.J.K -
<I.J— equivalent to<I.J.0 -
<I— equivalent to<I.0.0
§Op::LessEq
-
<=I.J.K -
<=I.J— equivalent to<I.(J+1).0 -
<=I— equivalent to<(I+1).0.0
§Op::Tilde (“patch” updates)
Tilde requirements allow the patch part of the semver version (the third number) to increase.
-
~I.J.K— equivalent to>=I.J.K, <I.(J+1).0 -
~I.J— equivalent to=I.J -
~I— equivalent to=I
§Op::Caret (“compatible” updates)
Caret requirements allow parts that are right of the first nonzero part of the semver version to increase.
-
^I.J.K(for I>0) — equivalent to>=I.J.K, <(I+1).0.0 -
^0.J.K(for J>0) — equivalent to>=0.J.K, <0.(J+1).0 -
^0.0.K— equivalent to=0.0.K -
^I.J(for I>0 or J>0) — equivalent to^I.J.0 -
^0.0— equivalent to=0.0 -
^I— equivalent to=I
Variants§
Exact = 0
=YEAR
=YEAR.MAJOR
=YEAR.MAJOR.MINOR
=YEAR.MAJOR.MINOR.PATCH
Greater = 1
>YEAR
>YEAR.MAJOR
>YEAR.MAJOR.MINOR
>YEAR.MAJOR.MINOR.PATCH
GreaterEqual = 2
>=YEAR
>=YEAR.MAJOR
>=YEAR.MAJOR.MINOR
>=YEAR.MAJOR.MINOR.PATCH
Less = 3
<YEAR
<YEAR.MAJOR
<YEAR.MAJOR.MINOR
<YEAR.MAJOR.MINOR.PATCH
LessEqual = 4
<=YEAR
<=YEAR.MAJOR
<=YEAR.MAJOR.MINOR
<=YEAR.MAJOR.MINOR.PATCH
Tilde = 5
~YEAR
~YEAR.MAJOR
~YEAR.MAJOR.MINOR
~YEAR.MAJOR.MINOR.PATCH
Caret = 6
^YEAR
^YEAR.MAJOR
^YEAR.MAJOR.MINOR.*
^YEAR.MAJOR.MINOR.PATCH
Wildcard = 7
*
YEAR.*
YEAR.MAJOR.*
YEAR.MAJOR.MINOR.*
Implementations§
source§impl VersionComparator
impl VersionComparator
pub fn parse_advance_version_comparator( s: &str, start: usize ) -> Result<(VersionComparator, &str, usize), VersionError>
source§impl VersionComparator
impl VersionComparator
pub fn range( &self, year: Option<u32>, major: Option<u32>, minor: Option<u32>, patch: Option<u32> ) -> Option<RangeInclusive<Version>>
pub fn upper( &self, year: Option<u32>, major: Option<u32>, minor: Option<u32>, patch: Option<u32> ) -> Version
pub fn lower( &self, year: Option<u32>, major: Option<u32>, minor: Option<u32>, patch: Option<u32> ) -> Version
Trait Implementations§
source§impl Clone for VersionComparator
impl Clone for VersionComparator
source§fn clone(&self) -> VersionComparator
fn clone(&self) -> VersionComparator
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for VersionComparator
impl Debug for VersionComparator
source§impl Default for VersionComparator
impl Default for VersionComparator
source§fn default() -> VersionComparator
fn default() -> VersionComparator
Returns the “default value” for a type. Read more
source§impl Display for VersionComparator
impl Display for VersionComparator
source§impl Hash for VersionComparator
impl Hash for VersionComparator
source§impl Into<Op> for VersionComparator
impl Into<Op> for VersionComparator
source§impl Ord for VersionComparator
impl Ord for VersionComparator
source§fn cmp(&self, other: &VersionComparator) -> Ordering
fn cmp(&self, other: &VersionComparator) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for VersionComparator
impl PartialEq for VersionComparator
source§fn eq(&self, other: &VersionComparator) -> bool
fn eq(&self, other: &VersionComparator) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl PartialOrd for VersionComparator
impl PartialOrd for VersionComparator
source§fn partial_cmp(&self, other: &VersionComparator) -> Option<Ordering>
fn partial_cmp(&self, other: &VersionComparator) -> Option<Ordering>
1.0.0 · source§fn 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 moreimpl Copy for VersionComparator
impl Eq for VersionComparator
impl StructuralPartialEq for VersionComparator
Auto Trait Implementations§
impl Freeze for VersionComparator
impl RefUnwindSafe for VersionComparator
impl Send for VersionComparator
impl Sync for VersionComparator
impl Unpin for VersionComparator
impl UnwindSafe for VersionComparator
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more