Struct versions::Requirement
source · pub struct Requirement {
pub op: Op,
pub version: Option<Versioning>,
}
Expand description
A version requirement expression, like ^1.4.163
.
See also Op
for all possibilities.
Fields§
§op: Op
The version requirement operation.
version: Option<Versioning>
The version itself. None
when op
is *
.
Implementations§
source§impl Requirement
impl Requirement
sourcepub fn matches(&self, other: &Versioning) -> bool
pub fn matches(&self, other: &Versioning) -> bool
Check if a version matches a version constraint.
use versions::{Requirement, Versioning};
use std::str::FromStr;
let gt = Requirement::from_str(">=1.0.0").unwrap();
assert!(gt.matches(&Versioning::new("1.0.0").unwrap()));
assert!(gt.matches(&Versioning::new("1.1.0").unwrap()));
assert!(!gt.matches(&Versioning::new("0.9.0").unwrap()));
let wild = Requirement::from_str("*").unwrap();
assert!(wild.matches(&Versioning::new("1.0.0").unwrap()));
assert!(wild.matches(&Versioning::new("1.1.0").unwrap()));
assert!(wild.matches(&Versioning::new("0.9.0").unwrap()));
let constraint_eq = Requirement::from_str("=1.0.0").unwrap();
assert!(constraint_eq.matches(&Versioning::new("1.0.0").unwrap()));
assert!(!constraint_eq.matches(&Versioning::new("1.1.0").unwrap()));
assert!(!constraint_eq.matches(&Versioning::new("0.9.0").unwrap()));
sourcepub fn parse(i: &str) -> IResult<&str, Requirement>
pub fn parse(i: &str) -> IResult<&str, Requirement>
The raw nom
parser for Requirement
. Feel free to use this in
combination with other general nom
parsers.
Trait Implementations§
source§impl Clone for Requirement
impl Clone for Requirement
source§fn clone(&self) -> Requirement
fn clone(&self) -> Requirement
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Requirement
impl Debug for Requirement
source§impl Default for Requirement
impl Default for Requirement
source§impl Display for Requirement
impl Display for Requirement
source§impl FromStr for Requirement
impl FromStr for Requirement
source§impl Hash for Requirement
impl Hash for Requirement
source§impl PartialEq for Requirement
impl PartialEq for Requirement
source§fn eq(&self, other: &Requirement) -> bool
fn eq(&self, other: &Requirement) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for Requirement
impl StructuralEq for Requirement
impl StructuralPartialEq for Requirement
Auto Trait Implementations§
impl RefUnwindSafe for Requirement
impl Send for Requirement
impl Sync for Requirement
impl Unpin for Requirement
impl UnwindSafe for Requirement
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more