#[non_exhaustive]
pub enum Op {
Exact,
Greater,
GreaterEq,
Less,
LessEq,
Tilde,
Caret,
Wildcard,
}
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::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 (Non-exhaustive)
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Exact
Greater
GreaterEq
Less
LessEq
Tilde
Caret
Wildcard
Trait Implementations
impl Copy for Op
impl Eq for Op
impl StructuralEq for Op
impl StructuralPartialEq for Op
Auto Trait Implementations
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