Lines Matching defs:Version

3 /// Version number: `major.minor.patch`, ignoring release channel.
5 pub struct Version(u64);
7 impl Version {
14 /// use version_check::Version;
16 /// match Version::read() {
17 /// Some(d) => format!("Version is: {}", d),
21 pub fn read() -> Option<Version> {
24 .and_then(|version| Version::parse(&version))
35 /// use version_check::Version;
37 /// let version = Version::parse("1.18.0").unwrap();
40 /// let version = Version::parse("1.20.0-nightly").unwrap();
44 /// let version = Version::parse("1.3").unwrap();
47 /// let version = Version::parse("1").unwrap();
50 /// assert!(Version::parse("one.two.three").is_none());
51 /// assert!(Version::parse("1.65536.2").is_none());
52 /// assert!(Version::parse("1. 2").is_none());
53 /// assert!(Version::parse("").is_none());
54 /// assert!(Version::parse("1.").is_none());
55 /// assert!(Version::parse("1.2.3.4").is_none());
57 pub fn parse(version: &str) -> Option<Version> {
73 Some(Version::from_mmp(maj, min, patch))
76 /// Creates a `Version` from `(major, minor, patch)` version components.
81 /// use version_check::Version;
83 /// assert!(Version::from_mmp(1, 35, 0).exactly("1.35.0"));
84 /// assert!(Version::from_mmp(1, 33, 0).exactly("1.33.0"));
85 /// assert!(Version::from_mmp(1, 35, 1).exactly("1.35.1"));
86 /// assert!(Version::from_mmp(1, 13, 2).exactly("1.13.2"));
88 pub fn from_mmp(major: u16, minor: u16, patch: u16) -> Version {
89 Version(((major as u64) << 32) | ((minor as u64) << 16) | patch as u64)
97 /// use version_check::Version;
99 /// assert_eq!(Version::parse("1.35.0").unwrap().to_mmp(), (1, 35, 0));
100 /// assert_eq!(Version::parse("1.33.0").unwrap().to_mmp(), (1, 33, 0));
101 /// assert_eq!(Version::parse("1.35.1").unwrap().to_mmp(), (1, 35, 1));
102 /// assert_eq!(Version::parse("1.13.2").unwrap().to_mmp(), (1, 13, 2));
119 /// use version_check::Version;
121 /// let version = Version::parse("1.35.0").unwrap();
130 /// let version = Version::parse("1.12.5").unwrap();
136 Version::parse(version)
149 /// use version_check::Version;
151 /// let version = Version::parse("1.35.0").unwrap();
161 Version::parse(version)
174 /// use version_check::Version;
176 /// let version = Version::parse("1.35.0").unwrap();
185 Version::parse(version)
191 impl fmt::Display for Version {
198 impl fmt::Debug for Version {
201 write!(f, "Version({:?}, {:?})", self.0, self.to_mmp())
207 use super::Version;
213 assert_eq!(Version::parse($s), None);
216 assert_eq!(Version::parse($s).map(|v| v.to_mmp()), Some($mmp));
222 assert_eq!(Some(Version::from_mmp($x, $y, $z)), Version::parse($s));
272 let version = Version::parse("1.18.0").unwrap();
281 let version = Version::parse("1.20.0-nightly").unwrap();
287 let version = Version::parse("1.3").unwrap();
293 let version = Version::parse("1").unwrap();
298 assert!(Version::parse("one.two.three").is_none());
303 assert_eq!(Version::parse($s).unwrap().to_string(), $s);