Skip to main content

vercomp/
version.rs

1use crate::number::Number;
2use crate::stage::Stage;
3
4#[derive(PartialEq, Debug)]
5pub struct Version {
6    pub number: Number,
7    pub stage: Stage,
8}
9
10impl Version {
11    #[deprecated(since = "0.5.0", note = "superseded by `from`")]
12    pub fn new(input: &str) -> Self {
13        Self::from(input)
14    }
15}
16
17impl From<&str> for Version {
18    fn from(input: &str) -> Self {
19        Self {
20            number: Number::from(input),
21            stage: Stage::from(input),
22        }
23    }
24}
25
26#[test]
27fn eq() {
28    let version_1 = Version::from("1.2.3-Alpha");
29    let version_2 = Version::from("1.2.3-Alpha");
30    assert_eq!(version_1, version_2);
31}