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}