pub enum VersionConstraint {
Show 13 variants
Exact(Version),
GreaterThan(Version),
GreaterThanOrEqual(Version),
LessThan(Version),
LessThanOrEqual(Version),
Compatible(Version),
Range(Version, Version),
Multiple(Vec<VersionConstraint>),
Alternative(Vec<VersionConstraint>),
Exclude(Vec<Version>),
Wildcard(String),
Prefix(Version),
Any,
}Expand description
Version constraint types
Variants§
Exact(Version)
Exact version match (==)
GreaterThan(Version)
Greater than (>)
GreaterThanOrEqual(Version)
Greater than or equal (>=)
LessThan(Version)
Less than (<)
LessThanOrEqual(Version)
Less than or equal (<=)
Compatible(Version)
Compatible version (~=)
Range(Version, Version)
Range constraint (>=min, <max)
Multiple(Vec<VersionConstraint>)
Multiple constraints (AND logic)
Alternative(Vec<VersionConstraint>)
Alternative constraints (OR logic)
Exclude(Vec<Version>)
Exclude specific versions
Wildcard(String)
Wildcard pattern (e.g., “1.2.*”)
Prefix(Version)
Prefix match: version starts with the given prefix tokens. Used for rez “point release” syntax: pkg-3.11 matches 3.11, 3.11.0, 3.11.5, etc.
Any
Any version
Implementations§
Source§impl VersionConstraint
impl VersionConstraint
Sourcepub fn is_satisfied_by(&self, version: &Version) -> bool
pub fn is_satisfied_by(&self, version: &Version) -> bool
Check if a version satisfies this constraint.
Rez semantics: when comparing against a constraint version with fewer tokens,
the comparison is done at the depth of the constraint.
e.g., >=3 on 3.11.0 → compare first token: 3 >= 3 ✓
<4 on 3.11.0 → compare first token: 3 < 4 ✓
Sourcepub fn cmp_at_depth(version: &Version, constraint_ver: &Version) -> Ordering
pub fn cmp_at_depth(version: &Version, constraint_ver: &Version) -> Ordering
Compare version against constraint_ver at the depth of constraint_ver.
Rez semantics: constraints with fewer tokens are compared only at the token depth of the constraint.
Sourcepub fn and(self, other: VersionConstraint) -> VersionConstraint
pub fn and(self, other: VersionConstraint) -> VersionConstraint
Combine two constraints with AND logic
Sourcepub fn or(self, other: VersionConstraint) -> VersionConstraint
pub fn or(self, other: VersionConstraint) -> VersionConstraint
Combine two constraints with OR logic
Trait Implementations§
Source§impl Clone for VersionConstraint
impl Clone for VersionConstraint
Source§fn clone(&self) -> VersionConstraint
fn clone(&self) -> VersionConstraint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VersionConstraint
impl Debug for VersionConstraint
Source§impl<'de> Deserialize<'de> for VersionConstraint
impl<'de> Deserialize<'de> for VersionConstraint
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for VersionConstraint
impl Display for VersionConstraint
Source§impl Hash for VersionConstraint
impl Hash for VersionConstraint
Source§impl PartialEq for VersionConstraint
impl PartialEq for VersionConstraint
Source§impl Serialize for VersionConstraint
impl Serialize for VersionConstraint
impl Eq for VersionConstraint
impl StructuralPartialEq for VersionConstraint
Auto Trait Implementations§
impl Freeze for VersionConstraint
impl RefUnwindSafe for VersionConstraint
impl Send for VersionConstraint
impl Sync for VersionConstraint
impl Unpin for VersionConstraint
impl UnsafeUnpin for VersionConstraint
impl UnwindSafe for VersionConstraint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more