diff options
| author | John Turner <jturner.usa@gmail.com> | 2025-11-13 19:57:28 +0000 |
|---|---|---|
| committer | John Turner <jturner.usa@gmail.com> | 2025-11-13 19:57:28 +0000 |
| commit | 36bdbbd8bc5b0a27ba1de797d67f9f2e0ae7680c (patch) | |
| tree | 65763c277e1c40ab57537d645fb9eaa9da0c448c /src/atom/parsers.rs | |
| parent | 0448a529264d1a27d741bc817de468f8d359072d (diff) | |
| download | gentoo-utils-36bdbbd8bc5b0a27ba1de797d67f9f2e0ae7680c.tar.gz | |
allow Cpv type to have a slot
Diffstat (limited to 'src/atom/parsers.rs')
| -rw-r--r-- | src/atom/parsers.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/atom/parsers.rs b/src/atom/parsers.rs index 4806857..37e18a7 100644 --- a/src/atom/parsers.rs +++ b/src/atom/parsers.rs @@ -351,10 +351,12 @@ impl<'a> Parseable<'a, &'a str> for Cpv { Category::parser() .and(Name::parser().preceded_by(tag("/"))) .and(Version::parser().preceded_by(tag("-"))) - .map(|((category, name), version)| Cpv { + .and(Slot::parser().preceded_by(tag(":")).opt()) + .map(|(((category, name), version), slot)| Cpv { category, name, version, + slot, }) } } @@ -479,4 +481,11 @@ mod test { Atom::parser().check_finished(it).unwrap(); } + + #[test] + fn test_cpv_with_slot() { + let it = InputIter::new("foo/bar-1.0:slot/sub="); + + Cpv::parser().check_finished(it).unwrap(); + } } |
