Struct semver::VersionReq [−][src]
pub struct VersionReq {
pub comparators: Vec<Comparator>,
}Expand description
SemVer version requirement describing the intersection of some version
comparators, such as >=1.2.3, <1.8.
Syntax
-
Either
*(meaning “any”), or one or more comma-separated comparators. -
A
Comparatoris an operator (Op) and a partial version, separated by optional whitespace. For example>=1.0.0or>=1.0. -
Build metadata is syntactically permitted on the partial versions, but is completely ignored, as it’s never relevant to whether any comparator matches a particular version.
-
Whitespace is permitted around commas and around operators. Whitespace is not permitted within a partial version, i.e. anywhere between the major version number and its minor, patch, pre-release, or build metadata.
Fields
comparators: Vec<Comparator>Implementations
A VersionReq with no constraint on the version numbers it matches.
Equivalent to VersionReq::parse("*").unwrap().
In terms of comparators this is equivalent to >=0.0.0.
Counterintuitively a * VersionReq does not match every possible
version number. In particular, in order for any VersionReq to match
a pre-release version, the VersionReq must contain at least one
Comparator that has an explicit major, minor, and patch version
identical to the pre-release being matched, and that has a nonempty
pre-release component. Since * is not written with an explicit major,
minor, and patch version, and does not contain a nonempty pre-release
component, it does not match any pre-release versions.
Create VersionReq by parsing from string representation.
Errors
Possible reasons for the parse to fail include:
-
>a.b— unexpected characters in the partial version. -
@1.0.0— unrecognized comparison operator. -
^1.0.0,— unexpected end of input. -
>=1.0 <2.0— missing comma between comparators. -
*.*— unsupported wildcard syntax.
Trait Implementations
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Creates a value from an iterator. Read more
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for VersionReq
impl Send for VersionReq
impl Sync for VersionReq
impl Unpin for VersionReq
impl UnwindSafe for VersionReq
Blanket Implementations
Mutably borrows from an owned value. Read more