summaryrefslogtreecommitdiffstats
path: root/kitchen_sink
diff options
context:
space:
mode:
authorKornel <kornel@geekhood.net>2020-02-26 16:44:35 +0000
committerKornel <kornel@geekhood.net>2020-02-26 16:44:35 +0000
commitada9c187b4b3887275a74083c3908b679f18a51d (patch)
tree5bf7855a029242125812a4958e3d06a8cc56d31b /kitchen_sink
parente2ab26d48625b47cfd90d86d5c085d91c8fbf1a6 (diff)
Match latest beta too
Diffstat (limited to 'kitchen_sink')
-rw-r--r--kitchen_sink/src/index.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/kitchen_sink/src/index.rs b/kitchen_sink/src/index.rs
index 6c5a232..55c980d 100644
--- a/kitchen_sink/src/index.rs
+++ b/kitchen_sink/src/index.rs
@@ -396,8 +396,13 @@ impl Index {
let krate = self.crates_io_crate_by_lowercase_name(&crate_name.to_ascii_lowercase())?;
- let matches_latest = Self::highest_crates_io_version(krate, true).version().parse().ok()
- .map_or(false, |latest| requirement.matches(&latest));
+ fn matches(ver: &Version, req: &VersionReq) -> bool {
+ ver.version().parse().ok().map_or(false, |ver| req.matches(&ver))
+ }
+
+ let matches_latest = matches(Self::highest_crates_io_version(krate, true), requirement) ||
+ // or match latest unstable
+ matches(Self::highest_crates_io_version(krate, false), requirement);
let stats = self.deps_stats().await?;
let pop = stats.counts.get(crate_name)
@@ -405,7 +410,6 @@ impl Index {
let mut matches = 0;
let mut unmatches = 0;
for (ver, count) in &stats.versions {
-
if requirement.matches(&ver.to_semver()) {
matches += count; // TODO: this should be (slighly) weighed by crate's popularity?
} else {