pub struct VersionSpecifier { /* private fields */ }Expand description
A version range such as >1.2.3, <=4!5.6.7-a8.post9.dev0 or == 4.1.*. Parse with
VersionSpecifier::from_str
use std::str::FromStr;
use pep440_rs::{Version, VersionSpecifier};
let version = Version::from_str("1.19").unwrap();
let version_specifier = VersionSpecifier::from_str("== 1.*").unwrap();
assert!(version_specifier.contains(&version));Implementations§
Source§impl VersionSpecifier
impl VersionSpecifier
Sourcepub fn from_pattern(
operator: Operator,
version_pattern: VersionPattern,
) -> Result<VersionSpecifier, VersionSpecifierBuildError>
pub fn from_pattern( operator: Operator, version_pattern: VersionPattern, ) -> Result<VersionSpecifier, VersionSpecifierBuildError>
Build from parts, validating that the operator is allowed with that version. The last
parameter indicates a trailing .*, to differentiate between 1.1.* and 1.1
Sourcepub fn from_version(
operator: Operator,
version: Version,
) -> Result<VersionSpecifier, VersionSpecifierBuildError>
pub fn from_version( operator: Operator, version: Version, ) -> Result<VersionSpecifier, VersionSpecifierBuildError>
Create a new version specifier from an operator and a version.
Sourcepub fn equals_version(version: Version) -> VersionSpecifier
pub fn equals_version(version: Version) -> VersionSpecifier
==<version>
Sourcepub fn equals_star_version(version: Version) -> VersionSpecifier
pub fn equals_star_version(version: Version) -> VersionSpecifier
==<version>.*
Sourcepub fn not_equals_star_version(version: Version) -> VersionSpecifier
pub fn not_equals_star_version(version: Version) -> VersionSpecifier
!=<version>.*
Sourcepub fn not_equals_version(version: Version) -> VersionSpecifier
pub fn not_equals_version(version: Version) -> VersionSpecifier
!=<version>
Sourcepub fn greater_than_equal_version(version: Version) -> VersionSpecifier
pub fn greater_than_equal_version(version: Version) -> VersionSpecifier
>=<version>
Sourcepub fn greater_than_version(version: Version) -> VersionSpecifier
pub fn greater_than_version(version: Version) -> VersionSpecifier
><version>
Sourcepub fn less_than_equal_version(version: Version) -> VersionSpecifier
pub fn less_than_equal_version(version: Version) -> VersionSpecifier
<=<version>
Sourcepub fn less_than_version(version: Version) -> VersionSpecifier
pub fn less_than_version(version: Version) -> VersionSpecifier
<<version>
Sourcepub fn into_parts(self) -> (Operator, Version)
pub fn into_parts(self) -> (Operator, Version)
Get the operator and version parts of this specifier.
Sourcepub fn any_prerelease(&self) -> bool
pub fn any_prerelease(&self) -> bool
Whether the version marker includes a prerelease.
Sourcepub fn from_release_only_bounds(
bounds: (&Bound<Version>, &Bound<Version>),
) -> impl Iterator<Item = VersionSpecifier>
pub fn from_release_only_bounds( bounds: (&Bound<Version>, &Bound<Version>), ) -> impl Iterator<Item = VersionSpecifier>
Returns the version specifiers whose union represents the given range.
This function is not applicable to ranges involving pre-release versions.
Sourcepub fn from_lower_bound(bound: &Bound<Version>) -> Option<VersionSpecifier>
pub fn from_lower_bound(bound: &Bound<Version>) -> Option<VersionSpecifier>
Returns a version specifier representing the given lower bound.
Sourcepub fn from_upper_bound(bound: &Bound<Version>) -> Option<VersionSpecifier>
pub fn from_upper_bound(bound: &Bound<Version>) -> Option<VersionSpecifier>
Returns a version specifier representing the given upper bound.
Sourcepub fn contains(&self, version: &Version) -> bool
pub fn contains(&self, version: &Version) -> bool
Whether the given version satisfies the version range.
For example, >=1.19,<2.0 contains 1.21, but not 2.0.
See:
Sourcepub fn has_lower_bound(&self) -> bool
pub fn has_lower_bound(&self) -> bool
Whether this version specifier rejects versions below a lower cutoff.
Trait Implementations§
Source§impl Clone for VersionSpecifier
impl Clone for VersionSpecifier
Source§fn clone(&self) -> VersionSpecifier
fn clone(&self) -> VersionSpecifier
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VersionSpecifier
impl Debug for VersionSpecifier
Source§impl<'de> Deserialize<'de> for VersionSpecifier
impl<'de> Deserialize<'de> for VersionSpecifier
Source§fn deserialize<D>(
deserializer: D,
) -> Result<VersionSpecifier, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<VersionSpecifier, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Display for VersionSpecifier
impl Display for VersionSpecifier
impl Eq for VersionSpecifier
Source§impl From<VersionSpecifier> for VersionSpecifiers
impl From<VersionSpecifier> for VersionSpecifiers
Source§fn from(specifier: VersionSpecifier) -> VersionSpecifiers
fn from(specifier: VersionSpecifier) -> VersionSpecifiers
Source§impl FromIterator<VersionSpecifier> for VersionSpecifiers
impl FromIterator<VersionSpecifier> for VersionSpecifiers
Source§fn from_iter<T>(iter: T) -> VersionSpecifierswhere
T: IntoIterator<Item = VersionSpecifier>,
fn from_iter<T>(iter: T) -> VersionSpecifierswhere
T: IntoIterator<Item = VersionSpecifier>,
Source§impl FromStr for VersionSpecifier
impl FromStr for VersionSpecifier
Source§impl Hash for VersionSpecifier
impl Hash for VersionSpecifier
Source§impl Ord for VersionSpecifier
impl Ord for VersionSpecifier
Source§fn cmp(&self, other: &VersionSpecifier) -> Ordering
fn cmp(&self, other: &VersionSpecifier) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for VersionSpecifier
impl PartialEq for VersionSpecifier
Source§impl PartialOrd for VersionSpecifier
impl PartialOrd for VersionSpecifier
Source§impl Serialize for VersionSpecifier
impl Serialize for VersionSpecifier
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl StructuralPartialEq for VersionSpecifier
Auto Trait Implementations§
impl Freeze for VersionSpecifier
impl RefUnwindSafe for VersionSpecifier
impl Send for VersionSpecifier
impl Sync for VersionSpecifier
impl Unpin for VersionSpecifier
impl UnsafeUnpin for VersionSpecifier
impl UnwindSafe for VersionSpecifier
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> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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