mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-20 20:48:43 +00:00
Take &VersionReq
for 1st param of find_version
instead of `&str` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
dd8e6a400d
commit
497ef80b27
1 changed files with 4 additions and 8 deletions
|
@ -28,15 +28,9 @@ impl Version for crates_io_api::Version {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn find_version<Item: Version, VersionIter: Iterator<Item = Item>>(
|
pub(super) fn find_version<Item: Version, VersionIter: Iterator<Item = Item>>(
|
||||||
requirement: &str,
|
version_req: &VersionReq,
|
||||||
version_iter: VersionIter,
|
version_iter: VersionIter,
|
||||||
) -> Result<(Item, semver::Version), BinstallError> {
|
) -> 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
|
version_iter
|
||||||
// Filter for matching versions
|
// Filter for matching versions
|
||||||
.filter_map(|item| {
|
.filter_map(|item| {
|
||||||
|
@ -52,5 +46,7 @@ pub(super) fn find_version<Item: Version, VersionIter: Iterator<Item = Item>>(
|
||||||
})
|
})
|
||||||
// Return highest version
|
// Return highest version
|
||||||
.max_by_key(|(_item, ver)| ver.clone())
|
.max_by_key(|(_item, ver)| ver.clone())
|
||||||
.ok_or(BinstallError::VersionMismatch { req: version_req })
|
.ok_or(BinstallError::VersionMismatch {
|
||||||
|
req: version_req.clone(),
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue