diff options
author | Kornel <kornel@geekhood.net> | 2020-02-26 16:44:35 +0000 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2020-02-26 16:44:35 +0000 |
commit | ada9c187b4b3887275a74083c3908b679f18a51d (patch) | |
tree | 5bf7855a029242125812a4958e3d06a8cc56d31b /kitchen_sink/src | |
parent | e2ab26d48625b47cfd90d86d5c085d91c8fbf1a6 (diff) |
Match latest beta too
Diffstat (limited to 'kitchen_sink/src')
-rw-r--r-- | kitchen_sink/src/index.rs | 10 |
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 { |