Struct semver::VersionReq [] [src]

pub struct VersionReq {
    // some 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]

fn any() -> VersionReq

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();

fn parse(input: &str) -> Result<VersionReqReqParseError>

parse() is the main constructor of a VersionReq. It turns 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");
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),
}

fn exact(version: &Version) -> VersionReq

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);

fn matches(&self, version: &Version) -> bool

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 Debug for VersionReq
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl Clone for VersionReq
[src]

fn clone(&self) -> VersionReq

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl PartialEq for VersionReq
[src]

fn eq(&self, __arg_0: &VersionReq) -> bool

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

fn ne(&self, __arg_0: &VersionReq) -> bool

This method tests for !=.

impl Display for VersionReq
[src]

fn fmt(&self, fmt: &mut Formatter) -> Result

Formats the value using the given formatter.