#![warn(missing_docs)]
extern crate rustc_version;
extern crate semver;
use rustc_version::LlvmVersion;
use semver::{BuildMetadata, Prerelease, VersionReq};
pub use rustc_version::{Channel, Version, VersionMeta};
mod version {
use super::*;
include!(concat!(env!("OUT_DIR"), "/version.rs"));
}
pub use version::version_meta;
pub fn version() -> Version {
version_meta().semver
}
pub fn version_matches(req: &str) -> bool {
let mut v = version();
v.pre = Prerelease::new("").unwrap();
VersionReq::parse(req).unwrap().matches(&v)
}
#[test]
fn smoketest() {
let v = version();
assert!(v.major >= 1);
assert!(v.minor >= 2);
let v = version_meta();
assert!(v.semver.major >= 1);
assert!(v.semver.minor >= 2);
assert!(version_matches(">= 1.2.0"));
}