A library for querying the version of a installed rustc compiler.
For more details, see the docs.
rustc-version-rs is available on crates.io. Add the following dependency to your Cargo manifest to get the latest version of the 0.1 branch: ```toml [dependencies]
rustc_version = "0.1.*" ```
To always get the latest version, add this git repository to your Cargo manifest:
toml
[dependencies.rustc_version]
git = "https://github.com/Kimundi/rustc-version-rs"
```rust // This could be a cargo build script
extern crate rustcversion; use rustcversion::{version, versionmatches, versionmeta, Channel};
fn main() { // Assert we haven't travelled back in time assert!(version().major >= 1);
// Set cfg flags depending on release channel
match version_meta().channel {
Channel::Stable => {
println!("cargo:rustc-cfg=RUSTC_IS_STABLE");
}
Channel::Beta => {
println!("cargo:rustc-cfg=RUSTC_IS_BETA");
}
Channel::Nightly => {
println!("cargo:rustc-cfg=RUSTC_IS_NIGHTLY");
}
Channel::Dev => {
println!("cargo:rustc-cfg=RUSTC_IS_DEV");
}
}
// Directly check a semver version requirment
if version_matches(">= 1.4.0") {
println!("cargo:rustc-cfg=compiler_has_important_bugfix");
}
} ```