Skip to main content

satisfies

Function satisfies 

Source
pub fn satisfies(declared: &str, installed: &str, pin: Pin) -> Option<bool>
Expand description

Whether an installed version satisfies a declared one, or None when that cannot be decided. Only plain dotted numbers are compared: a range (>=22), a channel name (stable) or an answer that is not a version stays undecided, because a finding that guesses fires on machines that are fine, and is then ignored when it is right.

use majordomus_cli::environment::toolchain::{satisfies, Pin};
assert_eq!(satisfies("22", "22.20.0", Pin::Exact), Some(true));
assert_eq!(satisfies("0.23.6", "0.23.4", Pin::Exact), Some(false));
assert_eq!(satisfies("1.85", "1.90.0", Pin::Minimum), Some(true));
assert_eq!(satisfies("1.22", "1.21.9", Pin::Minimum), Some(false));
assert_eq!(satisfies(">=22", "22.20.0", Pin::Exact), None);
assert_eq!(satisfies("stable", "1.90.0", Pin::Exact), None);