diff options
12 files changed, 36 insertions, 36 deletions
diff --git a/crates/shirabe-class-map-generator/src/php_file_parser.rs b/crates/shirabe-class-map-generator/src/php_file_parser.rs index 323ca05..ae98a5c 100644 --- a/crates/shirabe-class-map-generator/src/php_file_parser.rs +++ b/crates/shirabe-class-map-generator/src/php_file_parser.rs @@ -131,13 +131,13 @@ impl PhpFileParser { continue; } - let name: String = if name.starts_with(':') { + let name: String = if let Some(stripped) = name.strip_prefix(':') { // This is an XHP class, https://github.com/facebook/xhp "xhp".to_string() + &str_replace_array( &["-".to_string(), ":".to_string()], &["_".to_string(), "__".to_string()], - &name[1..], + stripped, ) } else if matches .get(&CaptureKey::ByName("type".to_owned())) diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/table.rs b/crates/shirabe-external-packages/src/symfony/console/helper/table.rs index a9a2457..678831a 100644 --- a/crates/shirabe-external-packages/src/symfony/console/helper/table.rs +++ b/crates/shirabe-external-packages/src/symfony/console/helper/table.rs @@ -1022,11 +1022,11 @@ impl Table { fn copy_row(&self, rows: &[PhpMixed], line: i64) -> Vec<PhpMixed> { let mut row = Self::to_row_vec(rows[line as usize].clone()); - for cell_key in 0..row.len() { - let cell_value = row[cell_key].clone(); - row[cell_key] = PhpMixed::from(""); + for cell in &mut row { + let cell_value = cell.clone(); + *cell = PhpMixed::from(""); if shirabe_php_shim::instance_of::<TableCell>(&cell_value) { - row[cell_key] = Self::table_cell_to_mixed(TableCell::new2( + *cell = Self::table_cell_to_mixed(TableCell::new2( "", Self::table_cell_options_colspan(Self::cell_colspan(&cell_value)), )); diff --git a/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs index c614f88..d3df9aa 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs @@ -520,9 +520,11 @@ impl ArgvInput { default } +} - /// Returns a stringified representation of the args passed to the command. - pub fn to_string(&self) -> String { +/// Returns a stringified representation of the args passed to the command. +impl std::fmt::Display for ArgvInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let tokens: Vec<String> = self .tokens .iter() @@ -544,7 +546,7 @@ impl ArgvInput { }) .collect(); - shirabe_php_shim::implode(" ", &tokens) + write!(f, "{}", shirabe_php_shim::implode(" ", &tokens)) } } diff --git a/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs index 1c17480..cad26e8 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs @@ -129,9 +129,11 @@ impl ArrayInput { default } +} - /// Returns a stringified representation of the args passed to the command. - pub fn to_string(&self) -> String { +/// Returns a stringified representation of the args passed to the command. +impl std::fmt::Display for ArrayInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut params: Vec<String> = vec![]; for (param, val) in &self.parameters { // $param && \is_string($param) && '-' === $param[0] @@ -183,9 +185,11 @@ impl ArrayInput { } } - shirabe_php_shim::implode(" ", ¶ms) + write!(f, "{}", shirabe_php_shim::implode(" ", ¶ms)) } +} +impl ArrayInput { fn parse(&mut self) -> anyhow::Result<()> { // Clone to avoid borrowing self while mutating; PHP iterates over a copy semantically. let parameters = self.parameters.clone(); diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs index 24ad27b..a90bff0 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs @@ -27,8 +27,8 @@ impl InputOption { description: String, default: PhpMixed, ) -> anyhow::Result<Self> { - let name = if name.starts_with("--") { - name[2..].to_string() + let name = if let Some(stripped) = name.strip_prefix("--") { + stripped.to_string() } else { name.to_string() }; diff --git a/crates/shirabe-php-shim/src/lib.rs b/crates/shirabe-php-shim/src/lib.rs index 949c5e2..aa80f53 100644 --- a/crates/shirabe-php-shim/src/lib.rs +++ b/crates/shirabe-php-shim/src/lib.rs @@ -1952,10 +1952,8 @@ fn array_replace_recursive_list( ) -> Vec<Box<PhpMixed>> { for (index, replacement_value) in replacement.into_iter().enumerate() { if index < base.len() { - base[index] = Box::new(array_replace_recursive_value( - (*base[index]).clone(), - *replacement_value, - )); + *base[index] = + array_replace_recursive_value((*base[index]).clone(), *replacement_value); } else { base.push(replacement_value); } diff --git a/crates/shirabe-php-shim/src/preg.rs b/crates/shirabe-php-shim/src/preg.rs index 6bf8900..3d36137 100644 --- a/crates/shirabe-php-shim/src/preg.rs +++ b/crates/shirabe-php-shim/src/preg.rs @@ -71,8 +71,8 @@ pub fn preg_match_all(pattern: &str, subject: &str) -> Vec<Vec<String>> { let group_count = re.captures_len(); let mut groups: Vec<Vec<String>> = vec![Vec::new(); group_count]; for caps in re.captures_iter(subject) { - for g in 0..group_count { - groups[g].push( + for (g, group) in groups.iter_mut().enumerate() { + group.push( caps.get(g) .map(|m| m.as_str().to_string()) .unwrap_or_default(), @@ -348,8 +348,7 @@ pub fn preg_split2(pattern: &str, subject: &str, limit: i64, flags: i64) -> Vec< }; let mut last = 0usize; - let mut delims = 0usize; - for caps in re.captures_iter(subject) { + for (delims, caps) in re.captures_iter(subject).enumerate() { if delims >= max_delims { break; } @@ -365,7 +364,6 @@ pub fn preg_split2(pattern: &str, subject: &str, limit: i64, flags: i64) -> Vec< } } last = m.end(); - delims += 1; } push(&subject[last..], &mut result); diff --git a/crates/shirabe/src/dependency_resolver/rule_set_generator.rs b/crates/shirabe/src/dependency_resolver/rule_set_generator.rs index d9452a3..5ec027b 100644 --- a/crates/shirabe/src/dependency_resolver/rule_set_generator.rs +++ b/crates/shirabe/src/dependency_resolver/rule_set_generator.rs @@ -167,7 +167,7 @@ impl RuleSetGenerator { work_queue.push_back(alias_of.clone()); let rule = self.create_require_rule( package.clone(), - &[alias_of.clone()], + std::slice::from_ref(&alias_of), rule::RULE_PACKAGE_ALIAS, rule::ReasonData::BasePackage(package.clone()), ); @@ -176,7 +176,7 @@ impl RuleSetGenerator { // aliases must be installed with their main package, so create a rule the other way around as well let inverse_rule = self.create_require_rule( alias_of.clone(), - &[package.clone()], + std::slice::from_ref(&package), rule::RULE_PACKAGE_INVERSE_ALIAS, rule::ReasonData::BasePackage(alias_of.clone()), ); @@ -325,7 +325,7 @@ impl RuleSetGenerator { self.add_rules_for_package(package.clone(), platform_requirement_filter); let rule = self.create_install_one_of_rule( - &[package.clone()], + std::slice::from_ref(package), rule::RULE_FIXED, rule::ReasonData::Fixed { package: package.clone(), diff --git a/crates/shirabe/src/downloader/vcs_downloader.rs b/crates/shirabe/src/downloader/vcs_downloader.rs index 993d18a..482a343 100644 --- a/crates/shirabe/src/downloader/vcs_downloader.rs +++ b/crates/shirabe/src/downloader/vcs_downloader.rs @@ -462,8 +462,8 @@ pub trait VcsDownloader: } fn prepare_urls(&self, mut urls: Vec<String>) -> Vec<String> { - for index in 0..urls.len() { - let mut url = urls[index].clone(); + for url_entry in &mut urls { + let mut url = url_entry.clone(); if Filesystem::is_local_path(&url) { // realpath() below will not understand // url that starts with "file://" @@ -479,10 +479,10 @@ pub trait VcsDownloader: url = rawurldecode(&url); } - urls[index] = realpath(&url).unwrap_or_default(); + *url_entry = realpath(&url).unwrap_or_default(); if is_file_protocol { - urls[index] = format!("{}{}", file_protocol, urls[index]); + *url_entry = format!("{}{}", file_protocol, url_entry); } } } diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs index 618d375..f35be80 100644 --- a/crates/shirabe/src/repository/composer_repository.rs +++ b/crates/shirabe/src/repository/composer_repository.rs @@ -1698,7 +1698,7 @@ impl ComposerRepository { || StabilityFilter::is_package_acceptable( acceptable_stabilities.unwrap(), stability_flags.unwrap(), - &[name.clone()], + std::slice::from_ref(&name), "dev", ) { diff --git a/crates/shirabe/src/repository/vcs/gitlab_driver.rs b/crates/shirabe/src/repository/vcs/gitlab_driver.rs index a5e6b73..0bc933e 100644 --- a/crates/shirabe/src/repository/vcs/gitlab_driver.rs +++ b/crates/shirabe/src/repository/vcs/gitlab_driver.rs @@ -604,8 +604,8 @@ impl GitLabDriver { fn url_encode_all(&self, string: &str) -> String { let mut encoded = String::new(); let bytes: Vec<char> = string.chars().collect(); - for i in 0..bytes.len() { - let character = bytes[i].to_string(); + for byte in &bytes { + let character = byte.to_string(); let final_character = if !ctype_alnum(&character) && !in_array( PhpMixed::String(character.clone()), diff --git a/crates/shirabe/src/util/git.rs b/crates/shirabe/src/util/git.rs index 1467a29..5923917 100644 --- a/crates/shirabe/src/util/git.rs +++ b/crates/shirabe/src/util/git.rs @@ -174,8 +174,7 @@ impl Git { let mut outputs: Vec<String> = vec![]; let mut status: i64 = 0; - let mut counter: i64 = 0; - for callable in &command_callables { + for (counter, callable) in command_callables.iter().enumerate() { let cmd = callable(url_arg); *last_cmd = PhpMixed::List( cmd.iter() @@ -195,7 +194,6 @@ impl Git { if status != 0 { break; } - counter += 1; } if collect_outputs && let Some(out) = command_output { |
