From 497ef80b27eba895f8701845fdfa319841be61dd Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Sun, 7 Aug 2022 18:40:59 +1000 Subject: [PATCH] Take `&VersionReq` for 1st param of `find_version` instead of `&str` Signed-off-by: Jiahao XU --- src/drivers/version.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/drivers/version.rs b/src/drivers/version.rs index 35e11299..abddbc61 100644 --- a/src/drivers/version.rs +++ b/src/drivers/version.rs @@ -28,15 +28,9 @@ impl Version for crates_io_api::Version { } pub(super) fn find_version>( - requirement: &str, + version_req: &VersionReq, version_iter: VersionIter, ) -> Result<(Item, semver::Version), BinstallError> { - // Parse version requirement - let version_req = VersionReq::parse(requirement).map_err(|err| BinstallError::VersionReq { - req: requirement.into(), - err, - })?; - version_iter // Filter for matching versions .filter_map(|item| { @@ -52,5 +46,7 @@ pub(super) fn find_version>( }) // Return highest version .max_by_key(|(_item, ver)| ver.clone()) - .ok_or(BinstallError::VersionMismatch { req: version_req }) + .ok_or(BinstallError::VersionMismatch { + req: version_req.clone(), + }) }