4 releases (2 stable)
1.1.0 | Nov 29, 2020 |
---|---|
1.0.0 | Nov 27, 2020 |
0.1.1 | Nov 26, 2020 |
0.1.0 | Nov 26, 2020 |
#1974 in Parser implementations
7,969 downloads per month
Used in 11 crates
(8 directly)
29KB
522 lines
Rustc Semver
This crate provides a minimalistic parser for Rust versions.
Description
The parser will only accept Versions in the form
<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.
Usage
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 function
If you have a RustcVersion
you can compare them, like you would expect:
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
:
assert!(RustcVersion::new(1, 48, 0).meets(RustcVersion::parse("1.42")?));
Code of Conduct
This repository adopts the Contributor Covenant Code of Conduct
License
Copyright 2020 Philipp Krones
Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option. Files in the project may not be copied, modified, or distributed except according to those terms.