#parser #version #semver #rustc

rustc-semver

Crate for parsing versions of Rust releases

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

#24 in Configuration

Download history 4073/week @ 2021-04-11 4354/week @ 2021-04-18 4630/week @ 2021-04-25 4975/week @ 2021-05-02 4308/week @ 2021-05-09 4464/week @ 2021-05-16 3854/week @ 2021-05-23 4485/week @ 2021-05-30 4238/week @ 2021-06-06 4175/week @ 2021-06-13 4332/week @ 2021-06-20 4319/week @ 2021-06-27 4422/week @ 2021-07-04 4627/week @ 2021-07-11 4787/week @ 2021-07-18 5045/week @ 2021-07-25

19,033 downloads per month

MIT/Apache

29KB
522 lines

Coverage Tests

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:

  1. const RustcVersion::new(u32, u32, u32): This is mainly used to create constants
  2. RustcVersion::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.

No runtime deps