diff options
Diffstat (limited to 'src/atom/parsers.rs')
| -rw-r--r-- | src/atom/parsers.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/atom/parsers.rs b/src/atom/parsers.rs index ee2c42a..75eca51 100644 --- a/src/atom/parsers.rs +++ b/src/atom/parsers.rs @@ -94,16 +94,19 @@ impl<'a> Parseable<'a, &'a str> for Version { fn parser() -> Self::Parser { let rev = VersionNumber::parser().preceded_by(tag("-r")); + let build_id = VersionNumber::parser().preceded_by(tag("-")); VersionNumbers::parser() .and(r#if(|c: &char| c.is_ascii_alphabetic() && c.is_ascii_lowercase()).opt()) .and(VersionSuffixes::parser().preceded_by(tag("_")).opt()) .and(rev.opt()) - .map(|(((numbers, letter), suffixes), rev)| Version { + .and(build_id.opt()) + .map(|((((numbers, letter), suffixes), rev), build_id)| Version { numbers, letter, suffixes: suffixes.unwrap_or(VersionSuffixes(Vec::new())), rev, + build_id, }) } } |
