From 0118358835af8c20e9fe05865e2d47f619e1c455 Mon Sep 17 00:00:00 2001 From: konsti Date: Mon, 11 Mar 2024 22:10:16 +0100 Subject: [PATCH] Remove `Range::bounds` usage (#2363) I'm trying to reduce our pubgrub upstream divergences and since we only have one usage of our custom `Range::bounds` it seems more reasonable to do this in uv directly than in pubgrub (https://github.com/pubgrub-rs/pubgrub/pull/188#issuecomment-1989410636). --- crates/uv-resolver/src/pubgrub/report.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/crates/uv-resolver/src/pubgrub/report.rs b/crates/uv-resolver/src/pubgrub/report.rs index e119fd884..dfb93997a 100644 --- a/crates/uv-resolver/src/pubgrub/report.rs +++ b/crates/uv-resolver/src/pubgrub/report.rs @@ -357,7 +357,21 @@ impl PubGrubReportFormatter<'_> { External::NoVersions(package, set, _) => { // Check for no versions due to pre-release options if let Some(selector) = selector { - if set.bounds().any(Version::any_prerelease) { + let any_prerelease = set.iter().any(|(start, end)| { + let is_pre1 = match start { + Bound::Included(version) => version.any_prerelease(), + Bound::Excluded(version) => version.any_prerelease(), + Bound::Unbounded => false, + }; + let is_pre2 = match end { + Bound::Included(version) => version.any_prerelease(), + Bound::Excluded(version) => version.any_prerelease(), + Bound::Unbounded => false, + }; + is_pre1 || is_pre2 + }); + + if any_prerelease { // A pre-release marker appeared in the version requirements. if !allowed_prerelease(package, selector) { hints.insert(PubGrubHint::PreReleaseRequested {