From ac74da4a27e090a6077b7f2487e792737aa5eda4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fe=CC=81lix=20Saparelli?= Date: Wed, 1 Jun 2022 00:47:32 +1200 Subject: [PATCH] Clippy suggestions --- src/drivers.rs | 4 ++-- src/fetchers.rs | 6 ++++-- src/fetchers/gh_crate_meta.rs | 2 +- src/helpers.rs | 4 ++-- src/lib.rs | 20 +++++--------------- src/main.rs | 6 +++--- 6 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/drivers.rs b/src/drivers.rs index 7b39bd10..1ca2ed3f 100644 --- a/src/drivers.rs +++ b/src/drivers.rs @@ -22,7 +22,7 @@ fn find_version<'a, V: Iterator>( let filtered: BTreeSet<_> = version_iter .filter_map(|v| { // Remove leading `v` for git tags - let ver_str = match v.strip_prefix("s") { + let ver_str = match v.strip_prefix('s') { Some(v) => v, None => v, }; @@ -47,7 +47,7 @@ fn find_version<'a, V: Iterator>( .iter() .max() .cloned() - .ok_or_else(|| BinstallError::VersionMismatch { req: version_req }) + .ok_or(BinstallError::VersionMismatch { req: version_req }) } /// Fetch a crate by name and version from crates.io diff --git a/src/fetchers.rs b/src/fetchers.rs index 44fdf57e..b7b25795 100644 --- a/src/fetchers.rs +++ b/src/fetchers.rs @@ -54,14 +54,16 @@ impl MultiFetcher { pub async fn first_available(&self) -> Option<&dyn Fetcher> { for fetcher in &self.fetchers { - if fetcher.check().await.unwrap_or_else(|err| { + let available = fetcher.check().await.unwrap_or_else(|err| { debug!( "Error while checking fetcher {}: {}", fetcher.source_name(), err ); false - }) { + }); + + if available { return Some(&**fetcher); } } diff --git a/src/fetchers/gh_crate_meta.rs b/src/fetchers/gh_crate_meta.rs index c8b4e60d..e9a7634a 100644 --- a/src/fetchers/gh_crate_meta.rs +++ b/src/fetchers/gh_crate_meta.rs @@ -16,7 +16,7 @@ impl GhCrateMeta { fn url(&self) -> Result { let ctx = Context::from_data(&self.data); debug!("Using context: {:?}", ctx); - Ok(ctx.render_url(&self.data.meta.pkg_url)?) + ctx.render_url(&self.data.meta.pkg_url) } } diff --git a/src/helpers.rs b/src/helpers.rs index c1ffcec0..6f160391 100644 --- a/src/helpers.rs +++ b/src/helpers.rs @@ -194,7 +194,7 @@ pub fn get_install_path>(install_path: Option

) -> Option, } -impl Default for PkgOverride { - fn default() -> Self { - Self { - pkg_url: None, - pkg_fmt: None, - bin_dir: None, - } - } -} - #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] pub struct BinMeta { @@ -164,7 +154,7 @@ mod test { let manifest = load_manifest_path(&manifest_dir).expect("Error parsing metadata"); let package = manifest.package.unwrap(); - let meta = package.metadata.map(|m| m.binstall).flatten().unwrap(); + let meta = package.metadata.and_then(|m| m.binstall).unwrap(); assert_eq!(&package.name, "cargo-binstall"); diff --git a/src/main.rs b/src/main.rs index 000ae381..a9479a2d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -191,9 +191,8 @@ async fn entry() -> Result<()> { package .metadata .as_ref() - .map(|m| m.binstall.clone()) - .flatten() - .unwrap_or(PkgMeta::default()), + .and_then(|m| m.binstall.clone()) + .unwrap_or_default(), manifest.bin, ); @@ -254,6 +253,7 @@ async fn entry() -> Result<()> { } } +#[allow(clippy::too_many_arguments)] async fn install_from_package( binaries: Vec, fetcher: &dyn Fetcher,