Struct semver::VersionReq [] [src]

pub struct VersionReq { /* fields omitted */ }

A VersionReq is a struct containing a list of predicates that can apply to ranges of version numbers. Matching operations can then be done with the VersionReq against a particular version to see if it satisfies some or all of the constraints.

Methods

impl VersionReq
[src]

[src]

any() is a factory method which creates a VersionReq with no constraints. In other words, any version will match against it.

Examples

use semver::VersionReq;

let anything = VersionReq::any();

[src]

parse() is the main constructor of a VersionReq. It takes a string like "^1.2.3" and turns it into a VersionReq that matches that particular constraint.

A Result is returned which contains a ReqParseError if there was a problem parsing the VersionReq.

Examples

use semver::VersionReq;

let version = VersionReq::parse("=1.2.3");
let version = VersionReq::parse(">1.2.3");
let version = VersionReq::parse("<1.2.3");
let version = VersionReq::parse("~1.2.3");
let version = VersionReq::parse("^1.2.3");
let version = VersionReq::parse("1.2.3"); // synonym for ^1.2.3
let version = VersionReq::parse("<=1.2.3");
let version = VersionReq::parse(">=1.2.3");

This example demonstrates error handling, and will panic.

use semver::VersionReq;

let version = match VersionReq::parse("not a version") {
    Ok(version) => version,
    Err(e) => panic!("There was a problem parsing: {}", e),
}

[src]

exact() is a factory method which creates a VersionReq with one exact constraint.

Examples

use semver::VersionReq;
use semver::Version;

let version = Version { major: 1, minor: 1, patch: 1, pre: vec![], build: vec![] };
let exact = VersionReq::exact(&version);

[src]

matches() matches a given Version against this VersionReq.

Examples

use semver::VersionReq;
use semver::Version;

let version = Version { major: 1, minor: 1, patch: 1, pre: vec![], build: vec![] };
let exact = VersionReq::exact(&version);

assert!(exact.matches(&version));

Trait Implementations

impl Clone for VersionReq
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq for VersionReq
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl Eq for VersionReq
[src]

impl PartialOrd for VersionReq
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for VersionReq
[src]

[src]

This method returns an Ordering between self and other. Read more

1.22.0
[src]

Compares and returns the maximum of two values. Read more

1.22.0
[src]

Compares and returns the minimum of two values. Read more

impl Hash for VersionReq
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Debug for VersionReq
[src]

[src]

Formats the value using the given formatter.

impl From<VersionReq> for VersionReq
[src]

[src]

Performs the conversion.

impl FromStr for VersionReq
[src]

The associated error which can be returned from parsing.

[src]

Parses a string s to return a value of this type. Read more

impl Display for VersionReq
[src]

[src]

Formats the value using the given formatter. Read more