pub enum StabilityFloor {
Dev,
Alpha,
Beta,
Rc,
Stable,
}Expand description
A Composer minimum-stability floor (or per-dependency @stability flag), ranked
Dev < Alpha < Beta < Rc < Stable (#424, #1444).
Declaration order is the precedence order: Ord compares two floors exactly as
Composer’s own stability scale does, so StabilityFloor::Beta < StabilityFloor::Rc
holds via the derived comparison, with no separate rank table to keep in sync.
This is the manifest-declared stability floor’s own type — strict, via
FromStr — distinct from the lenient qualifier classification a version string’s
own suffix (e.g. 1.0.0-beta.1) goes through inside deps-composer’s
compare_versions, which still accepts the a/b short aliases and maps an
unrecognized word to Self::Stable — that leniency is unchanged by this type.
§Examples
use deps_core::selection::StabilityFloor;
assert!(StabilityFloor::Dev < StabilityFloor::Alpha);
assert!(StabilityFloor::Alpha < StabilityFloor::Beta);
assert!(StabilityFloor::Beta < StabilityFloor::Rc);
assert!(StabilityFloor::Rc < StabilityFloor::Stable);Variants§
Dev
dev — the loosest floor; admits every stability level.
Alpha
alpha.
Beta
beta.
Rc
RC (release candidate).
Stable
stable — the strictest floor; Composer’s own default.
Trait Implementations§
Source§impl Clone for StabilityFloor
impl Clone for StabilityFloor
impl Copy for StabilityFloor
Source§impl Debug for StabilityFloor
impl Debug for StabilityFloor
impl Eq for StabilityFloor
Source§impl FromStr for StabilityFloor
impl FromStr for StabilityFloor
Source§fn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
Strict: accepts exactly dev, alpha, beta, rc, stable,
ASCII-case-insensitively (so RC, Beta, STABLE still parse) — no surrounding
whitespace tolerance, and no a/b short-alias acceptance (those are valid only
inside a version qualifier suffix, not as a minimum-stability config value or
@flag).
This is the strict, config-value classifier; deps-composer’s own
qualifier_stability (private to that crate) is the deliberately separate, lenient
classifier for a version string’s own qualifier suffix (accepts a/b, defaults an
unrecognized word to StabilityFloor::Stable) — if a keyword is ever added here,
check whether it belongs there too.
§Examples
use deps_core::selection::StabilityFloor;
assert_eq!("beta".parse(), Ok(StabilityFloor::Beta));
assert_eq!("RC".parse(), Ok(StabilityFloor::Rc));
assert_eq!("STABLE".parse(), Ok(StabilityFloor::Stable));
assert!("a".parse::<StabilityFloor>().is_err());
assert!("b".parse::<StabilityFloor>().is_err());
assert!("".parse::<StabilityFloor>().is_err());
assert!(" beta".parse::<StabilityFloor>().is_err());
assert!("stable ".parse::<StabilityFloor>().is_err());Source§type Err = UnknownStability
type Err = UnknownStability
Source§impl Hash for StabilityFloor
impl Hash for StabilityFloor
Source§impl Ord for StabilityFloor
impl Ord for StabilityFloor
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 StabilityFloor
impl PartialEq for StabilityFloor
Source§impl PartialOrd for StabilityFloor
impl PartialOrd for StabilityFloor
impl StructuralPartialEq for StabilityFloor
Auto Trait Implementations§
impl Freeze for StabilityFloor
impl RefUnwindSafe for StabilityFloor
impl Send for StabilityFloor
impl Sync for StabilityFloor
impl Unpin for StabilityFloor
impl UnsafeUnpin for StabilityFloor
impl UnwindSafe for StabilityFloor
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
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§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.