disallow wildcard after a build-id

This commit is contained in:
John Turner
2025-11-22 01:20:55 +00:00
parent e9603ce62f
commit 9062881692

View File

@@ -368,11 +368,11 @@ impl<'a> Parseable<'a, &'a str> for Atom {
.and(Repo::parser().preceded_by(tag("::")).opt()) .and(Repo::parser().preceded_by(tag("::")).opt())
.and(usedeps()) .and(usedeps())
.verify_output( .verify_output(
|((((((((_, version_operator), _), _), _), star), _), _), _)| { |((((((((_, version_operator), _), _), version), star), _), _), _)| {
matches!( matches!(
(version_operator, star), (version_operator, star),
(VersionOperator::Eq, Some(_) | None) | (_, None) (VersionOperator::Eq, Some(_) | None) | (_, None)
) ) && matches!((version.build_id(), star), (Some(_), None) | (None, _))
}, },
) )
.map( .map(
@@ -586,6 +586,7 @@ mod test {
">=kde-frameworks/kcrash-2.16.0:6*", ">=kde-frameworks/kcrash-2.16.0:6*",
"0-f/merreka+m::k+", "0-f/merreka+m::k+",
"iev-a/h:/n=", "iev-a/h:/n=",
"=dev-ml/stdio-0-17*:=[ocamlopt?]",
]; ];
for atom in atoms { for atom in atoms {