This crate provides a minimalistic parser for Rust versions.
The parser will only accept Versions in the form
text
<major>.<minor>.<patch>
and 3 special versions:
1.0.0-alpha
1.0.0-alpha.2
1.0.0-beta
This covers every version of rustc
that were released to date.
There are 2 functions to create a RustcVersion
:
const RustcVersion::new(u32, u32, u32)
: This is mainly used to create
constantsRustcVersion::parse(&str)
: Usually you want to parse a version with this
functionIf you have a RustcVersion
you can compare them, like you would expect:
rust
assert!(RustcVersion::parse("1.42.0")? < RustcVersion::parse("1.43")?);
If you want to check whether one version meets another version according to the
[Caret Requirements], there is the method RustcVersion::meets
:
rust
assert!(RustcVersion::new(1, 48, 0).meets(RustcVersion::parse("1.42")?));
This repository adopts the Contributor Covenant Code of Conduct
Copyright 2020 Philipp Krones
Licensed under the Apache License, Version 2.0