Lines Matching refs:version

8     /// Reads the version of the running compiler. If it cannot be determined
18 /// None => format!("Failed to read the version.")
23 .and_then(|(version, _)| version)
24 .and_then(|version| Version::parse(&version))
28 /// Parse a Rust release version (of the form
30 /// any. Returns `None` if `version` is not a valid Rust version string.
37 /// let version = Version::parse("1.18.0").unwrap();
38 /// assert!(version.exactly("1.18.0"));
40 /// let version = Version::parse("1.20.0-nightly").unwrap();
41 /// assert!(version.exactly("1.20.0"));
42 /// assert!(version.exactly("1.20.0-beta"));
44 /// let version = Version::parse("1.3").unwrap();
45 /// assert!(version.exactly("1.3.0"));
47 /// let version = Version::parse("1").unwrap();
48 /// assert!(version.exactly("1.0.0"));
57 pub fn parse(version: &str) -> Option<Version> {
58 let splits = version.split('-')
76 /// Creates a `Version` from `(major, minor, patch)` version components.
92 /// Returns the `(major, minor, patch)` version components of `self`.
111 /// Returns `true` if `self` is greater than or equal to `version`.
113 /// If `version` is greater than `self`, or if `version` is not a valid Rust
114 /// version string, returns `false`.
121 /// let version = Version::parse("1.35.0").unwrap();
123 /// assert!(version.at_least("1.33.0"));
124 /// assert!(version.at_least("1.35.0"));
125 /// assert!(version.at_least("1.13.2"));
127 /// assert!(!version.at_least("1.35.1"));
128 /// assert!(!version.at_least("1.55.0"));
130 /// let version = Version::parse("1.12.5").unwrap();
132 /// assert!(version.at_least("1.12.0"));
133 /// assert!(!version.at_least("1.35.0"));
135 pub fn at_least(&self, version: &str) -> bool {
136 Version::parse(version)
137 .map(|version| self >= &version)
141 /// Returns `true` if `self` is less than or equal to `version`.
143 /// If `version` is less than `self`, or if `version` is not a valid Rust
144 /// version string, returns `false`.
151 /// let version = Version::parse("1.35.0").unwrap();
153 /// assert!(version.at_most("1.35.1"));
154 /// assert!(version.at_most("1.55.0"));
155 /// assert!(version.at_most("1.35.0"));
157 /// assert!(!version.at_most("1.33.0"));
158 /// assert!(!version.at_most("1.13.2"));
160 pub fn at_most(&self, version: &str) -> bool {
161 Version::parse(version)
162 .map(|version| self <= &version)
166 /// Returns `true` if `self` is exactly equal to `version`.
168 /// If `version` is not equal to `self`, or if `version` is not a valid Rust
169 /// version string, returns `false`.
176 /// let version = Version::parse("1.35.0").unwrap();
178 /// assert!(version.exactly("1.35.0"));
180 /// assert!(!version.exactly("1.33.0"));
181 /// assert!(!version.exactly("1.35.1"));
182 /// assert!(!version.exactly("1.13.2"));
184 pub fn exactly(&self, version: &str) -> bool {
185 Version::parse(version)
186 .map(|version| self == &version)
272 let version = Version::parse("1.18.0").unwrap();
273 assert!(version.exactly("1.18.0"));
274 assert!(version.at_least("1.12.0"));
275 assert!(version.at_least("1.12"));
276 assert!(version.at_least("1"));
277 assert!(version.at_most("1.18.1"));
278 assert!(!version.exactly("1.19.0"));
279 assert!(!version.exactly("1.18.1"));
281 let version = Version::parse("1.20.0-nightly").unwrap();
282 assert!(version.exactly("1.20.0-beta"));
283 assert!(version.exactly("1.20.0-nightly"));
284 assert!(version.exactly("1.20.0"));
285 assert!(!version.exactly("1.19"));
287 let version = Version::parse("1.3").unwrap();
288 assert!(version.exactly("1.3.0"));
289 assert!(version.exactly("1.3.0-stable"));
290 assert!(version.exactly("1.3"));
291 assert!(!version.exactly("1.5.0-stable"));
293 let version = Version::parse("1").unwrap();
294 assert!(version.exactly("1.0.0"));
295 assert!(version.exactly("1.0"));
296 assert!(version.exactly("1"));