Enum Op
#[non_exhaustive]
pub enum Op
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::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
Op::Wildcard
-
I.J.*— equivalent to=I.J -
I.*orI.*.*— equivalent to=I
Variants
-
Exact -
Greater -
GreaterEq -
Less -
LessEq -
Tilde -
Caret -
Wildcard
Trait Implementations
impl Clone for Op
fn clone(&self) -> Self
impl Copy for Op
impl Debug for Op
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for Op
impl Hash for Op
fn hash<__H: Hasher>(&self, state: &mut __H)
impl PartialEq for Op
fn eq(&self, other: &Self) -> bool
impl StructuralPartialEq for Op
Auto Trait Implementations
impl Freeze for Op
impl RefUnwindSafe for Op
impl Send for Op
impl Sync for Op
impl Unpin for Op
impl UnsafeUnpin for Op
impl UnwindSafe for Op
Blanket Implementations
impl<T> Any for Op
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Op
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Op
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Op
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Op
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Op
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for Op
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Op
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Op
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>