This tiny crate checks that the running or installed rustc
meets some version
requirements. The version is queried by calling the Rust compiler with
--version
. The path to the compiler is determined first via the RUSTC
environment variable. If it is not set, then rustc
is used. If that fails, no
determination is made, and calls return None
.
Add to your Cargo.toml
file:
toml
[dependencies]
version_check = "0.1"
Check that the running compiler is a nightly release:
```rust extern crate version_check;
match versioncheck::isnightly() { Some(true) => "running a nightly", Some(false) => "not nightly", None => "couldn't figure it out" }; ```
Check that the running compiler is at least version 1.13.0
:
```rust extern crate version_check;
match versioncheck::ismin_version("1.13.0") { Some((true, version)) => format!("Yes! It's: {}", version), Some((false, version)) => format!("No! {} is too old!", version), None => "couldn't figure it out".into() }; ```
Check that the running compiler was released on or after 2016-12-18
:
```rust extern crate version_check;
match versioncheck::ismin_date("2016-12-18") { Some((true, date)) => format!("Yes! It's: {}", date), Some((false, date)) => format!("No! {} is too long ago!", date), None => "couldn't figure it out".into() }; ```
This crate is dead simple with no dependencies. If you need something more and don't care about panicking if the version cannot be obtained or adding dependencies, see rustc_version.
MIT. Have fun!