allow Cpv type to have a slot

This commit is contained in:
2025-11-13 19:57:28 +00:00
parent 0448a52926
commit 36bdbbd8bc
2 changed files with 18 additions and 2 deletions

View File

@@ -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();
}
}