Enum semver::Op [−][src]
#[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
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more