From efec43b3b8827820cf35fe1b73d8e33f5fe84eb4 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 20 Jun 2026 01:16:50 +0900 Subject: refactor: auto-fix clippy warnings --- .../shirabe/src/command/package_discovery_trait.rs | 58 ++++++++++------------ 1 file changed, 26 insertions(+), 32 deletions(-) (limited to 'crates/shirabe/src/command/package_discovery_trait.rs') diff --git a/crates/shirabe/src/command/package_discovery_trait.rs b/crates/shirabe/src/command/package_discovery_trait.rs index 3263444..e2ffa7c 100644 --- a/crates/shirabe/src/command/package_discovery_trait.rs +++ b/crates/shirabe/src/command/package_discovery_trait.rs @@ -136,24 +136,19 @@ pub trait PackageDiscoveryTrait { if is_file(&file) && Filesystem::is_readable(&file) { let contents = file_get_contents(&file).unwrap_or_default(); let composer = json_decode(&contents, true).unwrap_or(PhpMixed::Null); - if is_array(&composer) { - if let Some(arr) = composer.as_array() { - if let Some(ms) = arr.get("minimum-stability") { - if let Some(s) = ms.as_string() { - return VersionParser::normalize_stability(s).unwrap_or_default(); - } - } - } + if is_array(&composer) + && let Some(arr) = composer.as_array() + && let Some(ms) = arr.get("minimum-stability") + && let Some(s) = ms.as_string() + { + return VersionParser::normalize_stability(s).unwrap_or_default(); } } "stable".to_string() } - /// @param array $requires - /// - /// @return array - /// @throws \Exception + #[allow(clippy::too_many_arguments, reason = "to keep PHP signature")] fn determine_requirements( &mut self, input: std::rc::Rc>, @@ -164,7 +159,7 @@ pub trait PackageDiscoveryTrait { use_best_version_constraint: bool, fixed: bool, ) -> Result> { - if requires.len() > 0 { + if !requires.is_empty() { let requires_norm = self.normalize_requirements(requires.clone()); let mut result: Vec = vec![]; let io = self.get_io(); @@ -268,7 +263,7 @@ pub trait PackageDiscoveryTrait { None, )?; - if matches.len() > 0 { + if !matches.is_empty() { // Remove existing packages from search results. matches.retain(|found_package| { !in_array( @@ -295,7 +290,7 @@ pub trait PackageDiscoveryTrait { if !exact_match { let providers: IndexMap = self.get_repos().get_providers(package.clone())?; - if providers.len() > 0 { + if !providers.is_empty() { // PHP: array_unshift($matches, ['name' => $package, 'description' => '']); matches.insert( 0, @@ -356,7 +351,7 @@ pub trait PackageDiscoveryTrait { let validator: Box anyhow::Result> = Box::new( move |selection_mixed: PhpMixed| -> anyhow::Result { let selection = selection_mixed.as_string().unwrap_or("").to_string(); - if "" == selection { + if selection.is_empty() { return Ok(PhpMixed::Bool(false)); } @@ -530,7 +525,7 @@ pub trait PackageDiscoveryTrait { // Check if it is a virtual package provided by others let providers = repo_set.borrow().get_providers(name)?; - if providers.len() > 0 { + if !providers.is_empty() { let mut constraint = "*".to_string(); if input.borrow().is_interactive() { let providers_count = providers.len(); @@ -693,7 +688,7 @@ pub trait PackageDiscoveryTrait { // Check for similar names/typos let similar = self.find_similar(name)?; - if similar.len() > 0 { + if !similar.is_empty() { if in_array( PhpMixed::String(name.to_string()), &PhpMixed::List( @@ -720,25 +715,24 @@ pub trait PackageDiscoveryTrait { "Could not find package {}.\nPick one of these or leave empty to abort:", name, ), - similar.iter().map(|s| s.clone()).collect(), + similar.to_vec(), PhpMixed::Bool(false), PhpMixed::Int(1), "No package named \"%s\" is installed.".to_string(), false, ); - if let Some(idx_str) = result_mixed.as_string() { - if let Ok(idx) = idx_str.parse::() { - if let Some(selected) = similar.get(idx) { - return self.find_best_version_and_name_for_package( - io.clone(), - input, - selected, - platform_repo, - preferred_stability, - fixed, - ); - } - } + if let Some(idx_str) = result_mixed.as_string() + && let Ok(idx) = idx_str.parse::() + && let Some(selected) = similar.get(idx) + { + return self.find_best_version_and_name_for_package( + io.clone(), + input, + selected, + platform_repo, + preferred_stability, + fixed, + ); } } -- cgit v1.3.1