From 432472808051cb4f1bb9517b858dbc810aaa5a63 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 25 Jul 2026 16:16:33 +0900 Subject: refactor: replace redundant clones with moves Co-Authored-By: Claude Opus 5 --- .../src/symfony/console/color.rs | 2 +- .../src/symfony/console/command/command.rs | 2 +- .../symfony/console/descriptor/text_descriptor.rs | 2 +- .../console/formatter/output_formatter_style.rs | 2 +- .../src/symfony/console/helper/question_helper.rs | 2 +- .../console/helper/symfony_question_helper.rs | 2 +- .../src/symfony/console/input/argv_input.rs | 4 +- .../src/symfony/console/input/input_definition.rs | 5 +- .../symfony/console/question/choice_question.rs | 4 +- .../src/symfony/filesystem/filesystem.rs | 6 +- crates/shirabe-php-shim/src/runtime.rs | 2 +- crates/shirabe-semver/src/interval.rs | 5 +- crates/shirabe-semver/src/intervals.rs | 19 +++---- crates/shirabe/src/autoload/autoload_generator.rs | 18 ++---- crates/shirabe/src/autoload/class_loader.rs | 10 ++-- crates/shirabe/src/command/archive_command.rs | 6 +- crates/shirabe/src/command/audit_command.rs | 2 +- .../shirabe/src/command/base_dependency_command.rs | 2 +- .../src/command/check_platform_reqs_command.rs | 2 +- crates/shirabe/src/command/config_command.rs | 2 +- .../shirabe/src/command/create_project_command.rs | 6 +- crates/shirabe/src/command/diagnose_command.rs | 11 ++-- crates/shirabe/src/command/home_command.rs | 6 +- crates/shirabe/src/command/init_command.rs | 10 ++-- crates/shirabe/src/command/install_command.rs | 2 +- crates/shirabe/src/command/licenses_command.rs | 16 ++---- .../shirabe/src/command/package_discovery_trait.rs | 16 +++--- crates/shirabe/src/command/remove_command.rs | 12 +--- crates/shirabe/src/command/repository_command.rs | 4 +- crates/shirabe/src/command/require_command.rs | 12 ++-- crates/shirabe/src/command/show_command.rs | 38 ++++++------- crates/shirabe/src/command/status_command.rs | 8 +-- crates/shirabe/src/command/update_command.rs | 10 ++-- crates/shirabe/src/config.rs | 7 +-- crates/shirabe/src/console/application.rs | 14 ++--- .../src/dependency_resolver/default_policy.rs | 16 +++--- .../src/dependency_resolver/lock_transaction.rs | 2 +- crates/shirabe/src/dependency_resolver/pool.rs | 2 +- .../src/dependency_resolver/pool_builder.rs | 2 +- .../src/dependency_resolver/pool_optimizer.rs | 2 +- crates/shirabe/src/dependency_resolver/problem.rs | 28 +++------- crates/shirabe/src/dependency_resolver/rule.rs | 18 ++---- crates/shirabe/src/downloader/download_manager.rs | 5 +- crates/shirabe/src/downloader/file_downloader.rs | 18 +++--- crates/shirabe/src/downloader/fossil_downloader.rs | 10 +--- crates/shirabe/src/downloader/git_downloader.rs | 12 ++-- crates/shirabe/src/downloader/hg_downloader.rs | 12 +--- crates/shirabe/src/downloader/path_downloader.rs | 6 +- .../shirabe/src/downloader/perforce_downloader.rs | 4 +- crates/shirabe/src/downloader/vcs_downloader.rs | 12 ++-- .../src/event_dispatcher/event_dispatcher.rs | 2 +- crates/shirabe/src/factory.rs | 26 ++++----- crates/shirabe/src/installer.rs | 11 ++-- .../shirabe/src/installer/installation_manager.rs | 12 ++-- .../shirabe/src/installer/metapackage_installer.rs | 6 +- crates/shirabe/src/installer/noop_installer.rs | 6 +- crates/shirabe/src/json/json_file.rs | 4 +- crates/shirabe/src/json/json_manipulator.rs | 20 +++---- crates/shirabe/src/package/alias_package.rs | 4 +- .../src/package/archiver/archive_manager.rs | 19 ++----- crates/shirabe/src/package/dumper/array_dumper.rs | 57 ++++++------------- .../src/package/loader/validating_array_loader.rs | 2 +- crates/shirabe/src/package/locker.rs | 9 +-- crates/shirabe/src/package/package.rs | 4 +- .../shirabe/src/package/version/version_bumper.rs | 4 +- .../shirabe/src/package/version/version_guesser.rs | 2 +- .../shirabe/src/package/version/version_parser.rs | 2 +- .../src/package/version/version_selector.rs | 6 +- crates/shirabe/src/plugin/plugin_manager.rs | 13 ++--- crates/shirabe/src/repository/array_repository.rs | 10 +--- .../shirabe/src/repository/composer_repository.rs | 9 +-- .../src/repository/filesystem_repository.rs | 22 ++------ .../shirabe/src/repository/installed_repository.rs | 2 +- .../shirabe/src/repository/platform_repository.rs | 9 +-- .../src/repository/vcs/git_bitbucket_driver.rs | 2 +- crates/shirabe/src/repository/vcs/git_driver.rs | 2 +- crates/shirabe/src/repository/vcs/gitlab_driver.rs | 8 +-- crates/shirabe/src/repository/vcs/svn_driver.rs | 6 +- crates/shirabe/src/self_update/versions.rs | 2 +- crates/shirabe/src/util/config_validator.rs | 2 +- crates/shirabe/src/util/forgejo.rs | 10 ++-- crates/shirabe/src/util/forgejo_url.rs | 2 +- crates/shirabe/src/util/git.rs | 3 +- crates/shirabe/src/util/github.rs | 5 +- crates/shirabe/src/util/http/curl_downloader.rs | 2 +- crates/shirabe/src/util/http_downloader.rs | 8 +-- crates/shirabe/src/util/perforce.rs | 2 +- crates/shirabe/src/util/process_executor.rs | 4 +- crates/shirabe/src/util/remote_filesystem.rs | 2 +- crates/shirabe/src/util/svn.rs | 2 +- crates/shirabe/src/util/tls_helper.rs | 2 +- crates/shirabe/src/util/url.rs | 6 +- crates/shirabe/tests/advisory/auditor_test.rs | 2 +- .../shirabe/tests/command/remove_command_test.rs | 28 +++------- .../shirabe/tests/command/suggests_command_test.rs | 2 +- crates/shirabe/tests/config_test.rs | 2 +- .../dependency_resolver/default_policy_test.rs | 5 +- .../tests/dependency_resolver/pool_builder_test.rs | 2 +- .../security_advisory_pool_filter_test.rs | 4 +- .../tests/dependency_resolver/solver_test.rs | 64 +++++++++++----------- .../tests/dependency_resolver/transaction_test.rs | 38 ++++++------- .../tests/downloader/file_downloader_test.rs | 2 +- .../tests/downloader/git_downloader_test.rs | 4 +- .../tests/downloader/perforce_downloader_test.rs | 2 +- .../tests/downloader/zip_downloader_test.rs | 14 ++--- crates/shirabe/tests/factory_test.rs | 2 +- .../tests/installer/installation_manager_test.rs | 8 +-- .../tests/installer/library_installer_test.rs | 4 +- crates/shirabe/tests/installer_test.rs | 6 +- crates/shirabe/tests/json/json_file_test.rs | 4 +- .../tests/package/archiver/archive_manager_test.rs | 6 +- .../package/loader/root_package_loader_test.rs | 21 ++----- .../tests/package/version/version_selector_test.rs | 23 +++----- .../tests/repository/vcs/github_driver_test.rs | 5 +- .../tests/repository/vcs/gitlab_driver_test.rs | 2 +- crates/shirabe/tests/util/bitbucket_test.rs | 4 +- crates/shirabe/tests/util/gitlab_test.rs | 4 +- crates/shirabe/tests/util/http_downloader_test.rs | 2 +- 118 files changed, 406 insertions(+), 605 deletions(-) (limited to 'crates') diff --git a/crates/shirabe-external-packages/src/symfony/console/color.rs b/crates/shirabe-external-packages/src/symfony/console/color.rs index fb7cc9f0..79d0c58b 100644 --- a/crates/shirabe-external-packages/src/symfony/console/color.rs +++ b/crates/shirabe-external-packages/src/symfony/console/color.rs @@ -155,7 +155,7 @@ impl Color { if shirabe_php_shim::strlen(&color) != 6 { return Err(InvalidArgumentException( shirabe_php_shim::InvalidArgumentException { - message: format!("Invalid \"{}\" color.", color.clone()), + message: format!("Invalid \"{}\" color.", color), code: 0, }, )); diff --git a/crates/shirabe-external-packages/src/symfony/console/command/command.rs b/crates/shirabe-external-packages/src/symfony/console/command/command.rs index ef4a471a..6e6c2212 100644 --- a/crates/shirabe-external-packages/src/symfony/console/command/command.rs +++ b/crates/shirabe-external-packages/src/symfony/console/command/command.rs @@ -747,7 +747,7 @@ impl Command for CommandData { let replacements = [ name.clone().unwrap_or_default(), if is_single_command { - php_self.clone() + php_self } else { format!("{} {}", php_self, name.unwrap_or_default()) }, diff --git a/crates/shirabe-external-packages/src/symfony/console/descriptor/text_descriptor.rs b/crates/shirabe-external-packages/src/symfony/console/descriptor/text_descriptor.rs index 8e54d9ea..2aaa3ebc 100644 --- a/crates/shirabe-external-packages/src/symfony/console/descriptor/text_descriptor.rs +++ b/crates/shirabe-external-packages/src/symfony/console/descriptor/text_descriptor.rs @@ -121,7 +121,7 @@ impl TextDescriptor { if option.is_negatable() { format!("--{0}|--no-{0}", option.get_name().to_string()) } else { - format!("--{0}{1}", option.get_name(), value.clone()) + format!("--{0}{1}", option.get_name(), value) } ); diff --git a/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs index c421edf5..dac390fe 100644 --- a/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs +++ b/crates/shirabe-external-packages/src/symfony/console/formatter/output_formatter_style.rs @@ -25,7 +25,7 @@ impl OutputFormatterStyle { .filter(|s| !s.is_empty()) .unwrap_or("") .to_string(); - let color = Color::new(&foreground, &background, &options.clone()).unwrap(); + let color = Color::new(&foreground, &background, &options).unwrap(); Self { color, foreground, diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs b/crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs index 3f95f4da..f6ef31da 100644 --- a/crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs +++ b/crates/shirabe-external-packages/src/symfony/console/helper/question_helper.rs @@ -483,7 +483,7 @@ impl QuestionHelper { if c.as_deref() == Some("\n") { output.borrow().write( - &[c.clone().unwrap_or_default()], + &[c.unwrap_or_default()], false, output_interface::OUTPUT_NORMAL, ); diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/symfony_question_helper.rs b/crates/shirabe-external-packages/src/symfony/console/helper/symfony_question_helper.rs index 786141e9..086f9c1c 100644 --- a/crates/shirabe-external-packages/src/symfony/console/helper/symfony_question_helper.rs +++ b/crates/shirabe-external-packages/src/symfony/console/helper/symfony_question_helper.rs @@ -73,7 +73,7 @@ impl SymfonyQuestionHelper { &choices .get(&default.to_string()) .cloned() - .unwrap_or(default.clone()) + .unwrap_or(default) .to_string(), ) .unwrap(), 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 7c24da60..bf1ea659 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 @@ -148,7 +148,7 @@ impl ArgvInput { if !self.inner.definition.has_shortcut(&name_i) { let encoding = shirabe_php_shim::mb_detect_encoding(name, None, true); let bad = match encoding { - None => name_i.clone(), + None => name_i, Some(encoding) => { shirabe_php_shim::mb_substr(name, i, Some(1), Some(&encoding)) } @@ -269,7 +269,7 @@ impl ArgvInput { { format!( "No arguments expected for \"{}\" command, got \"{}\".", - symfony_command_name.clone().unwrap(), + symfony_command_name.unwrap(), token, ) } else { diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_definition.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_definition.rs index 2c06b05f..eabb7003 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/input_definition.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/input_definition.rs @@ -304,10 +304,7 @@ impl InputDefinition { let negated_name = format!("no-{}", option.get_name()); if self.options.contains_key(&negated_name) { return Err(LogicException(shirabe_php_shim::LogicException { - message: format!( - "An option named \"{}\" already exists.", - negated_name.clone(), - ), + message: format!("An option named \"{}\" already exists.", negated_name), code: 0, }) .into()); diff --git a/crates/shirabe-external-packages/src/symfony/console/question/choice_question.rs b/crates/shirabe-external-packages/src/symfony/console/question/choice_question.rs index 848888a6..9deec851 100644 --- a/crates/shirabe-external-packages/src/symfony/console/question/choice_question.rs +++ b/crates/shirabe-external-packages/src/symfony/console/question/choice_question.rs @@ -45,7 +45,7 @@ impl ChoiceQuestion { this.inner.set_validator(Some(validator)); // setAutocompleterValues never throws for an array argument. this.inner - .set_autocompleter_values(Some(PhpMixed::Array(choices.clone()))) + .set_autocompleter_values(Some(PhpMixed::Array(choices))) .expect("autocompleter cannot be set on a hidden question during construction"); Ok(this) @@ -145,7 +145,7 @@ impl ChoiceQuestion { .map(PhpMixed::String) .collect() } else { - vec![selected.clone()] + vec![selected] }; let mut selected_choices = selected_choices; diff --git a/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs b/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs index d773e60c..3759f499 100644 --- a/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs +++ b/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs @@ -149,7 +149,7 @@ impl Filesystem { format!("Failed to create \"{}\": ", dir), 0, None, - Some(dir.clone()), + Some(dir), ) .into()); } @@ -357,7 +357,7 @@ impl Filesystem { ), 0, None, - Some(origin_dir.clone()), + Some(origin_dir), ) .into()); } @@ -439,7 +439,7 @@ impl Filesystem { format!("Unable to guess \"{}\" file type.", pathname), 0, None, - Some(pathname.clone()), + Some(pathname), ) .into()); } diff --git a/crates/shirabe-php-shim/src/runtime.rs b/crates/shirabe-php-shim/src/runtime.rs index c4bd62c9..f65ce871 100644 --- a/crates/shirabe-php-shim/src/runtime.rs +++ b/crates/shirabe-php-shim/src/runtime.rs @@ -515,7 +515,7 @@ pub fn globals_set(_name: &str, _value: PhpMixed) { pub fn clone(_value: T) -> T { // PHP's `clone` makes a (shallow) copy of an object; Rust's Clone is the closest equivalent. - _value.clone() + _value } pub fn ini_set(_varname: &str, _value: &str) -> Option { diff --git a/crates/shirabe-semver/src/interval.rs b/crates/shirabe-semver/src/interval.rs index 7f275149..97461790 100644 --- a/crates/shirabe-semver/src/interval.rs +++ b/crates/shirabe-semver/src/interval.rs @@ -36,10 +36,7 @@ impl Interval { } pub fn any() -> Self { - Self::new( - Self::from_zero().clone(), - Self::until_positive_infinity().clone(), - ) + Self::new(Self::from_zero(), Self::until_positive_infinity()) } pub fn any_dev() -> DevConstraintSet { diff --git a/crates/shirabe-semver/src/intervals.rs b/crates/shirabe-semver/src/intervals.rs index 862b3add..0f9db7cd 100644 --- a/crates/shirabe-semver/src/intervals.rs +++ b/crates/shirabe-semver/src/intervals.rs @@ -315,8 +315,8 @@ impl Intervals { if constraint.is_match_all() { return Ok(IntervalCollection { numeric: vec![Interval::new( - Interval::from_zero().clone(), - Interval::until_positive_infinity().clone(), + Interval::from_zero(), + Interval::until_positive_infinity(), )], branches: Interval::any_dev(), }); @@ -515,8 +515,8 @@ impl Intervals { // really defined for branches if op == "!=" { intervals.push(Interval::new( - Interval::from_zero().clone(), - Interval::until_positive_infinity().clone(), + Interval::from_zero(), + Interval::until_positive_infinity(), )); branches = DevConstraintSet { names: vec![constraint.get_version().to_string()], @@ -537,7 +537,7 @@ impl Intervals { return Ok(IntervalCollection { numeric: vec![Interval::new( constraint.clone(), - Interval::until_positive_infinity().clone(), + Interval::until_positive_infinity(), )], branches: Interval::no_dev(), }); @@ -545,10 +545,7 @@ impl Intervals { if op.starts_with('<') { // < & <= return Ok(IntervalCollection { - numeric: vec![Interval::new( - Interval::from_zero().clone(), - constraint.clone(), - )], + numeric: vec![Interval::new(Interval::from_zero(), constraint.clone())], branches: Interval::no_dev(), }); } @@ -557,7 +554,7 @@ impl Intervals { return Ok(IntervalCollection { numeric: vec![ Interval::new( - Interval::from_zero().clone(), + Interval::from_zero(), SimpleConstraint::new( "<".to_string(), constraint.get_version().to_string(), @@ -570,7 +567,7 @@ impl Intervals { constraint.get_version().to_string(), None, ), - Interval::until_positive_infinity().clone(), + Interval::until_positive_infinity(), ), ], branches: Interval::any_dev(), diff --git a/crates/shirabe/src/autoload/autoload_generator.rs b/crates/shirabe/src/autoload/autoload_generator.rs index 49eade41..bb8fcd0b 100644 --- a/crates/shirabe/src/autoload/autoload_generator.rs +++ b/crates/shirabe/src/autoload/autoload_generator.rs @@ -607,7 +607,7 @@ impl AutoloadGenerator { if check_platform { platform_check_content = self.get_platform_check( &package_map, - config.get("platform-check").clone(), + config.get("platform-check"), dev_package_names, ); if platform_check_content.is_none() { @@ -631,7 +631,7 @@ impl AutoloadGenerator { &self.get_autoload_real_file( true, include_path_file_contents.is_some(), - target_dir_loader.clone(), + target_dir_loader, include_files_file_contents.is_some(), &vendor_path_code, &app_base_dir_code, @@ -828,11 +828,8 @@ impl AutoloadGenerator { // sorted (i.e. dependents first) for files to ensure that dependencies are loaded/available once a file is included let files = self.parse_autoloads_type(&sorted_package_map, "files", root_package.clone()); // using sorted here but it does not really matter as all are excluded equally - let exclude = self.parse_autoloads_type( - &sorted_package_map, - "exclude-from-classmap", - root_package.clone(), - ); + let exclude = + self.parse_autoloads_type(&sorted_package_map, "exclude-from-classmap", root_package); psr0.sort_by(|k1, _, k2, _| k2.cmp(k1)); psr4.sort_by(|k1, _, k2, _| k2.cmp(k1)); @@ -1961,12 +1958,7 @@ class ComposerStaticInit{} } } } - add( - root_package.clone().into(), - &packages, - &mut include, - &replaced_by, - ); + add(root_package.into(), &packages, &mut include, &replaced_by); package_map .into_iter() diff --git a/crates/shirabe/src/autoload/class_loader.rs b/crates/shirabe/src/autoload/class_loader.rs index 3ebb7a7d..3bcc6f81 100644 --- a/crates/shirabe/src/autoload/class_loader.rs +++ b/crates/shirabe/src/autoload/class_loader.rs @@ -131,7 +131,7 @@ impl ClassLoader { pub fn add(&mut self, prefix: &str, paths: Vec, prepend: bool) { if prefix.is_empty() { if prepend { - let mut new_dirs = paths.clone(); + let mut new_dirs = paths; new_dirs.append(&mut self.fallback_dirs_psr0); self.fallback_dirs_psr0 = new_dirs; } else { @@ -142,14 +142,14 @@ impl ClassLoader { } let first = prefix.chars().next().unwrap_or('\0').to_string(); - let entry = self.prefixes_psr0.entry(first.clone()).or_default(); + let entry = self.prefixes_psr0.entry(first).or_default(); if !entry.contains_key(prefix) { entry.insert(prefix.to_string(), paths); return; } let existing = entry.get_mut(prefix).unwrap(); if prepend { - let mut new_dirs = paths.clone(); + let mut new_dirs = paths; new_dirs.append(existing); *existing = new_dirs; } else { @@ -170,7 +170,7 @@ impl ClassLoader { if prefix.is_empty() { // Register directories for the root namespace. if prepend { - let mut new_dirs = paths.clone(); + let mut new_dirs = paths; new_dirs.append(&mut self.fallback_dirs_psr4); self.fallback_dirs_psr4 = new_dirs; } else { @@ -196,7 +196,7 @@ impl ClassLoader { } else if prepend { // Prepend directories for an already registered namespace. let existing = self.prefix_dirs_psr4.get_mut(prefix).unwrap(); - let mut new_dirs = paths.clone(); + let mut new_dirs = paths; new_dirs.append(existing); *existing = new_dirs; } else { diff --git a/crates/shirabe/src/command/archive_command.rs b/crates/shirabe/src/command/archive_command.rs index 25d32b2b..dfbb6fc5 100644 --- a/crates/shirabe/src/command/archive_command.rs +++ b/crates/shirabe/src/command/archive_command.rs @@ -299,7 +299,7 @@ impl ArchiveCommand { None, )?; let loop_ = std::rc::Rc::new(std::cell::RefCell::new(Loop::new( - http_downloader.clone(), + http_downloader, Some(process), ))); owned_archive_manager = @@ -365,7 +365,7 @@ impl ArchiveCommand { let mut repos: Vec = vec![local_repo]; repos.extend(repository_manager.get_repositories().iter().cloned()); repo = CompositeRepository::new(repos); - min_stability = composer.get_package().get_minimum_stability().to_string(); + min_stability = composer.get_package().get_minimum_stability(); } else { let default_repos = RepositoryFactory::default_repos_with_default_manager(io.clone())?; let repo_names: Vec = default_repos.keys().cloned().collect(); @@ -410,7 +410,7 @@ impl ArchiveCommand { let parser = VersionParser::new(); let constraint: Option = match version.as_deref() { - Some(v) => Some(parser.parse_constraints(v)?.clone()), + Some(v) => Some(parser.parse_constraints(v)?), None => None, }; let packages = repo_set.find_packages(&package_name.to_lowercase(), constraint, 0)?; diff --git a/crates/shirabe/src/command/audit_command.rs b/crates/shirabe/src/command/audit_command.rs index c797eef1..b01b6624 100644 --- a/crates/shirabe/src/command/audit_command.rs +++ b/crates/shirabe/src/command/audit_command.rs @@ -210,7 +210,7 @@ impl Command for AuditCommand { &abandoned, ignore_severities, ignore_unreachable, - audit_config.ignore_abandoned_for_audit.clone(), + audit_config.ignore_abandoned_for_audit, )? .min(255)) } diff --git a/crates/shirabe/src/command/base_dependency_command.rs b/crates/shirabe/src/command/base_dependency_command.rs index 8b4fb148..c4399f34 100644 --- a/crates/shirabe/src/command/base_dependency_command.rs +++ b/crates/shirabe/src/command/base_dependency_command.rs @@ -240,7 +240,7 @@ pub trait BaseDependencyCommand: BaseCommand { let has_constraint = text_constraint != "*"; let constraint: Option = if has_constraint { let version_parser = VersionParser::new(); - Some(version_parser.parse_constraints(&text_constraint)?.clone()) + Some(version_parser.parse_constraints(&text_constraint)?) } else { None }; diff --git a/crates/shirabe/src/command/check_platform_reqs_command.rs b/crates/shirabe/src/command/check_platform_reqs_command.rs index 5852050e..fb759893 100644 --- a/crates/shirabe/src/command/check_platform_reqs_command.rs +++ b/crates/shirabe/src/command/check_platform_reqs_command.rs @@ -244,7 +244,7 @@ impl Command for CheckPlatformReqsCommand { "Checking {}platform requirements for packages in the vendor dir", if no_dev { "non-dev " } else { "" } )); - local_repo.clone() + local_repo } }; diff --git a/crates/shirabe/src/command/config_command.rs b/crates/shirabe/src/command/config_command.rs index 6d40c307..a92c2f59 100644 --- a/crates/shirabe/src/command/config_command.rs +++ b/crates/shirabe/src/command/config_command.rs @@ -737,7 +737,7 @@ impl Command for ConfigCommand { if 1 == values.len() { let value = strtolower(&values[0]); if boolean_validator(&PhpMixed::String(value.clone())) { - if !boolean_normalizer(&PhpMixed::String(value.clone())) + if !boolean_normalizer(&PhpMixed::String(value)) .as_bool() .unwrap_or(false) { diff --git a/crates/shirabe/src/command/create_project_command.rs b/crates/shirabe/src/command/create_project_command.rs index fdc01391..68024b69 100644 --- a/crates/shirabe/src/command/create_project_command.rs +++ b/crates/shirabe/src/command/create_project_command.rs @@ -336,7 +336,7 @@ impl CreateProjectCommand { &config, package_name, platform_requirement_filter.clone(), - directory.clone(), + directory, package_version, stability, prefer_source, @@ -948,7 +948,7 @@ impl CreateProjectCommand { let _ = mkdir(&directory, 0o777, true); let mut signal_handler: Option = None; if let Some(real_dir) = realpath(&directory) { - let real_dir_clone = real_dir.clone(); + let real_dir_clone = real_dir; let io_for_signal = io.clone(); signal_handler = Some(SignalHandler::create( vec![ @@ -994,7 +994,7 @@ impl CreateProjectCommand { dm.borrow_mut().set_prefer_source(prefer_source); dm.borrow_mut().set_prefer_dist(prefer_dist); - let project_installer = ProjectInstaller::new(&directory, dm.clone(), fs.clone()); + let project_installer = ProjectInstaller::new(&directory, dm.clone(), fs); let installation_manager = composer.get_installation_manager().clone(); let mut im = installation_manager.borrow_mut(); im.set_output_progress(!no_progress); diff --git a/crates/shirabe/src/command/diagnose_command.rs b/crates/shirabe/src/command/diagnose_command.rs index ac15e1d1..9d0ee6f4 100644 --- a/crates/shirabe/src/command/diagnose_command.rs +++ b/crates/shirabe/src/command/diagnose_command.rs @@ -103,7 +103,7 @@ impl Command for DiagnoseCommand { let config: std::rc::Rc>; if let Some(ref mut c) = composer { let c = crate::composer::composer_full(c); - config = c.get_config().clone(); + config = c.get_config(); let command_event = CommandEvent::new6( PluginEvents::COMMAND, @@ -187,7 +187,7 @@ impl Command for DiagnoseCommand { crate::repository::FindPackageConstraint::String("*".to_string()), )? .unwrap(); - let mut php_version = php_pkg.get_pretty_version().to_string(); + let mut php_version = php_pkg.get_pretty_version(); if let Some(cp) = php_pkg.as_complete() && str_contains(&cp.get_description().unwrap_or_default(), "overridden") { @@ -986,11 +986,8 @@ impl DiagnoseCommand { if version != "@package_version@" { let version_parser = VersionParser::new(); let normalized_version = version_parser.normalize(&version, None)?; - let root_pkg = RootPackage::new( - "composer/composer".to_string(), - normalized_version, - version.clone(), - ); + let root_pkg = + RootPackage::new("composer/composer".to_string(), normalized_version, version); packages.push(crate::package::RootPackageHandle::from_root_package(root_pkg).into()); } let mut repo_config: IndexMap = IndexMap::new(); diff --git a/crates/shirabe/src/command/home_command.rs b/crates/shirabe/src/command/home_command.rs index 5a823d8b..f7dca941 100644 --- a/crates/shirabe/src/command/home_command.rs +++ b/crates/shirabe/src/command/home_command.rs @@ -49,9 +49,9 @@ impl HomeCommand { let mut url: Option = support .get("source") .cloned() - .or_else(|| package.get_source_url().map(|s| s.to_string())); + .or_else(|| package.get_source_url()); if url.as_deref().is_none_or(|s| s.is_empty()) || show_homepage { - url = package.get_homepage().map(|s| s.to_string()); + url = package.get_homepage(); } let url = match url { @@ -198,7 +198,7 @@ impl Command for HomeCommand { io.write_error("No package specified, opening homepage for the root package"); let composer_rc = self.require_composer(None, None)?; let composer_ref = crate::composer::composer_full(&composer_rc); - vec![composer_ref.get_package().get_name().to_string()] + vec![composer_ref.get_package().get_name()] } else { packages }; diff --git a/crates/shirabe/src/command/init_command.rs b/crates/shirabe/src/command/init_command.rs index 6b3503b0..1ff4089a 100644 --- a/crates/shirabe/src/command/init_command.rs +++ b/crates/shirabe/src/command/init_command.rs @@ -307,7 +307,7 @@ impl Command for InitCommand { ); } - file_obj.write(PhpMixed::Array(options_for_encode.clone()))?; + file_obj.write(PhpMixed::Array(options_for_encode))?; let validate_result = file_obj.validate_schema(JsonFile::LAX_SCHEMA, None); if let Err(e) = validate_result { // try to downcast to JsonValidationException @@ -590,7 +590,7 @@ impl Command for InitCommand { let description = io.ask( format!( "Description [{}]: ", - description.clone().unwrap_or_default() + description.unwrap_or_default() ), description_default .map(PhpMixed::String) @@ -653,7 +653,7 @@ impl Command for InitCommand { let minimum_stability_value = io.ask_and_validate( format!( "Minimum Stability [{}]: ", - minimum_stability.clone().unwrap_or_default() + minimum_stability.unwrap_or_default() ), Box::new(move |value: PhpMixed| -> anyhow::Result { if value.is_null() { @@ -756,7 +756,7 @@ impl Command for InitCommand { // prepare to resolve dependencies let repos = self.get_repos(); let preferred_stability = - if let Some(s) = minimum_stability_default.clone().filter(|s| !s.is_empty()) { + if let Some(s) = minimum_stability_default.filter(|s| !s.is_empty()) { s } else { "stable".to_string() @@ -882,7 +882,7 @@ impl Command for InitCommand { return Err(InvalidArgumentException { message: format!( "The src folder name \"{}\" is invalid. Please add a relative path with tailing forward slash. [A-Za-z0-9_-/]+/", - value_or_default.clone(), + value_or_default, ), code: 0, } diff --git a/crates/shirabe/src/command/install_command.rs b/crates/shirabe/src/command/install_command.rs index 635c1461..28855cac 100644 --- a/crates/shirabe/src/command/install_command.rs +++ b/crates/shirabe/src/command/install_command.rs @@ -236,7 +236,7 @@ impl Command for InstallCommand { ) .set_optimize_autoloader(optimize) .set_class_map_authoritative(authoritative) - .set_apcu_autoloader(apcu, apcu_prefix.clone()) + .set_apcu_autoloader(apcu, apcu_prefix) .set_platform_requirement_filter(self.get_platform_requirement_filter(input.clone())?) .set_audit_config( self.create_audit_config(&mut composer.get_config().borrow_mut(), input.clone())?, diff --git a/crates/shirabe/src/command/licenses_command.rs b/crates/shirabe/src/command/licenses_command.rs index be467a13..a49e567d 100644 --- a/crates/shirabe/src/command/licenses_command.rs +++ b/crates/shirabe/src/command/licenses_command.rs @@ -249,19 +249,13 @@ impl Command for LicensesCommand { } let mut output_map: IndexMap = IndexMap::new(); - output_map.insert( - "name".to_string(), - PhpMixed::String(root.get_pretty_name().clone()), - ); + output_map.insert("name".to_string(), PhpMixed::String(root.get_pretty_name())); output_map.insert( "version".to_string(), - PhpMixed::String( - root.get_full_pretty_version( - true, - crate::package::DisplayMode::SourceRefIfDev, - ) - .clone(), - ), + PhpMixed::String(root.get_full_pretty_version( + true, + crate::package::DisplayMode::SourceRefIfDev, + )), ); let root_licenses = root.get_license(); output_map.insert( diff --git a/crates/shirabe/src/command/package_discovery_trait.rs b/crates/shirabe/src/command/package_discovery_trait.rs index 2ab1d9d5..52d0682c 100644 --- a/crates/shirabe/src/command/package_discovery_trait.rs +++ b/crates/shirabe/src/command/package_discovery_trait.rs @@ -207,9 +207,7 @@ pub trait PackageDiscoveryTrait: BaseCommand { // Collect existing packages let composer = self.try_composer(None, None); let composer_ref = composer.as_ref().map(|c| c.borrow_partial()); - let repository_manager = composer_ref - .as_ref() - .map(|c| c.get_repository_manager().clone()); + let repository_manager = composer_ref.as_ref().map(|c| c.get_repository_manager()); let repository_manager_ref = repository_manager.as_ref().map(|rm| rm.borrow()); let installed_repo = repository_manager_ref .as_ref() @@ -553,7 +551,7 @@ pub trait PackageDiscoveryTrait: BaseCommand { "Package {} has requirements incompatible with your PHP version, PHP extensions and Composer version{}", name, self.get_platform_exception_details( - candidate.clone(), + candidate, platform_repo, )?, ), @@ -606,7 +604,7 @@ pub trait PackageDiscoveryTrait: BaseCommand { message: format!( "Could not find a version of package {} matching your minimum-stability ({}). Require it with an explicit version constraint allowing its desired stability.", name, - effective_minimum_stability.clone(), + effective_minimum_stability, ), code: 0, } @@ -649,7 +647,7 @@ pub trait PackageDiscoveryTrait: BaseCommand { "Could not find package {} in any version matching your PHP version, PHP extensions and Composer version{}{}", name, self.get_platform_exception_details( - candidate.clone(), + candidate, platform_repo, )?, additional, @@ -741,11 +739,11 @@ pub trait PackageDiscoveryTrait: BaseCommand { let package = package.unwrap(); Ok(( - package.get_pretty_name().to_string(), + package.get_pretty_name(), if fixed { - package.get_pretty_version().to_string() + package.get_pretty_version() } else { - version_selector.find_recommended_require_version(package.clone())? + version_selector.find_recommended_require_version(package)? }, )) } diff --git a/crates/shirabe/src/command/remove_command.rs b/crates/shirabe/src/command/remove_command.rs index 776fca79..eaf9ed41 100644 --- a/crates/shirabe/src/command/remove_command.rs +++ b/crates/shirabe/src/command/remove_command.rs @@ -268,10 +268,7 @@ impl Command for RemoveCommand { } } - let unused: Vec = locked_packages - .iter() - .map(|p| p.get_name().to_string()) - .collect(); + let unused: Vec = locked_packages.iter().map(|p| p.get_name()).collect(); packages.extend(unused); if packages.is_empty() { @@ -485,11 +482,8 @@ impl Command for RemoveCommand { if dry_run { let root_package = composer.get_package(); let mut links: IndexMap> = IndexMap::new(); - links.insert("require".to_string(), root_package.get_requires().clone()); - links.insert( - "require-dev".to_string(), - root_package.get_dev_requires().clone(), - ); + links.insert("require".to_string(), root_package.get_requires()); + links.insert("require-dev".to_string(), root_package.get_dev_requires()); for (link_type, names) in &to_remove { for name in names { if let Some(section) = links.get_mut(link_type.as_str()) { diff --git a/crates/shirabe/src/command/repository_command.rs b/crates/shirabe/src/command/repository_command.rs index c42b70c4..2e9e0020 100644 --- a/crates/shirabe/src/command/repository_command.rs +++ b/crates/shirabe/src/command/repository_command.rs @@ -336,7 +336,7 @@ impl Command for RepositoryCommand { .unwrap() .insert_repository( name.as_deref().unwrap(), - repo_config.clone(), + repo_config, reference_name, offset, )?; @@ -352,7 +352,7 @@ impl Command for RepositoryCommand { .borrow_mut() .as_mut() .unwrap() - .add_repository(name.as_deref().unwrap(), repo_config.clone(), append)?; + .add_repository(name.as_deref().unwrap(), repo_config, append)?; Ok(0) } "remove" | "rm" | "delete" => { diff --git a/crates/shirabe/src/command/require_command.rs b/crates/shirabe/src/command/require_command.rs index c1730942..57445b14 100644 --- a/crates/shirabe/src/command/require_command.rs +++ b/crates/shirabe/src/command/require_command.rs @@ -298,7 +298,7 @@ impl Command for RequireCommand { let preferred_stability = if composer.get_package().get_prefer_stable() { "stable".to_string() } else { - composer.get_package().get_minimum_stability().to_string() + composer.get_package().get_minimum_stability() }; // Hoist argument computations into locals so no borrow of `input` is held across the @@ -808,15 +808,13 @@ impl RequireCommand { root_package.set_dev_requires(links["require-dev"].clone()); // extract stability flags & references as they weren't present when loading the unmodified composer.json - let references = RootPackageLoader::extract_references( - requirements, - root_package.get_references().clone(), - ); + let references = + RootPackageLoader::extract_references(requirements, root_package.get_references()); root_package.set_references(references); let stability_flags = RootPackageLoader::extract_stability_flags( requirements, &root_package.get_minimum_stability(), - root_package.get_stability_flags().clone(), + root_package.get_stability_flags(), ); root_package.set_stability_flags(stability_flags); } @@ -970,7 +968,7 @@ impl RequireCommand { .set_dev_mode(update_dev_mode) .set_optimize_autoloader(optimize) .set_class_map_authoritative(authoritative) - .set_apcu_autoloader(apcu, apcu_prefix.clone()) + .set_apcu_autoloader(apcu, apcu_prefix) .set_update(true) .set_install( !input diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs index 4ba20575..c4519924 100644 --- a/crates/shirabe/src/command/show_command.rs +++ b/crates/shirabe/src/command/show_command.rs @@ -372,7 +372,7 @@ impl Command for ShowCommand { repos = RepositoryInterfaceHandle::new(InstalledRepository::new(vec![ RepositoryInterfaceHandle::new(RootPackageRepository::new(package.clone())), ])); - single_package = Some(package.clone().into()); + single_package = Some(package.into()); } else if input.borrow().get_option("platform")?.as_bool() == Some(true) { installed_repo = RepositoryInterfaceHandle::new(InstalledRepository::new(vec![ platform_repo.clone().into(), @@ -497,7 +497,7 @@ impl Command for ShowCommand { let new_repo = RepositoryInterfaceHandle::new(InstalledRepository::new(vec![lr_handle])); installed_repo = new_repo.clone(); - repos = new_repo.clone(); + repos = new_repo; } else { // --installed / default case let composer_local_owned; @@ -853,7 +853,7 @@ impl Command for ShowCommand { input.borrow_mut().set_option("path", PhpMixed::Bool(false)); } - for repo in RepositoryUtils::flatten_repositories(repos.clone(), true) { + for repo in RepositoryUtils::flatten_repositories(repos, true) { let r#type = if Self::same_repository(&repo, &platform_repo) { "platform" } else if locked_repo @@ -2028,7 +2028,7 @@ impl ShowCommand { let mut json: IndexMap = IndexMap::new(); json.insert( "name".to_string(), - PhpMixed::String(package.get_pretty_name().to_string()), + PhpMixed::String(package.get_pretty_name()), ); json.insert( "description".to_string(), @@ -2040,10 +2040,7 @@ impl ShowCommand { .map(PhpMixed::String) .collect(); json.insert("keywords".to_string(), PhpMixed::List(keywords)); - json.insert( - "type".to_string(), - PhpMixed::String(package.get_type().to_string()), - ); + json.insert("type".to_string(), PhpMixed::String(package.get_type())); json.insert( "homepage".to_string(), match package.get_homepage() { @@ -2068,7 +2065,7 @@ impl ShowCommand { let latest: PackageInterfaceHandle = if let Some(latest) = latest_package { json.insert( "latest".to_string(), - PhpMixed::String(latest.get_pretty_version().to_string()), + PhpMixed::String(latest.get_pretty_version()), ); latest } else { @@ -2148,7 +2145,7 @@ impl ShowCommand { json.insert( "replacement".to_string(), match c.get_replacement_package() { - Some(rp) => PhpMixed::String(rp.to_string()), + Some(rp) => PhpMixed::String(rp), None => PhpMixed::Null, }, ); @@ -2460,7 +2457,7 @@ impl ShowCommand { remote_repos: &RepositoryInterfaceHandle, ) -> IndexMap { let requires = { - let mut r: IndexMap = package.get_requires().clone(); + let mut r: IndexMap = package.get_requires(); r.sort_keys(); r }; @@ -2505,11 +2502,11 @@ impl ShowCommand { let mut tree: IndexMap = IndexMap::new(); tree.insert( "name".to_string(), - PhpMixed::String(package.get_pretty_name().to_string()), + PhpMixed::String(package.get_pretty_name()), ); tree.insert( "version".to_string(), - PhpMixed::String(package.get_pretty_version().to_string()), + PhpMixed::String(package.get_pretty_version()), ); tree.insert( "description".to_string(), @@ -2620,7 +2617,7 @@ impl ShowCommand { }; let (package, _) = self.get_package(installed_repo, remote_repos, name, version_arg)?; if let Some(package) = package { - let mut requires = package.get_requires().clone(); + let mut requires = package.get_requires(); requires.sort_keys(); for (require_name, require) in requires.iter() { let mut current_tree = packages_in_tree.to_vec(); @@ -2687,7 +2684,7 @@ impl ShowCommand { return Ok("up-to-date".to_string()); } - let mut constraint = package.get_version().to_string(); + let mut constraint = package.get_version(); if !constraint.starts_with("dev-") { constraint = format!("^{}", constraint); } @@ -2734,10 +2731,7 @@ impl ShowCommand { let composer_ref = crate::composer::composer_full(composer); let mut version_selector = VersionSelector::new(repo_set, Some(&mut *platform_repo.borrow_mut()))?; - let mut stability = composer_ref - .get_package() - .get_minimum_stability() - .to_string(); + let mut stability = composer_ref.get_package().get_minimum_stability(); let flags = composer_ref.get_package().get_stability_flags(); if let Some(flag_value) = flags.get(&name) { let key_map: IndexMap = base_package::STABILITIES @@ -2750,9 +2744,9 @@ impl ShowCommand { } } - let mut best_stability = stability.clone(); + let mut best_stability = stability; if composer_ref.get_package().get_prefer_stable() { - best_stability = package.get_stability().to_string(); + best_stability = package.get_stability(); } let mut target_version: Option = None; @@ -2855,7 +2849,7 @@ impl ShowCommand { if self.repository_set.borrow().is_none() { let mut rs = RepositorySet::new( &composer.get_package().get_minimum_stability(), - composer.get_package().get_stability_flags().clone(), + composer.get_package().get_stability_flags(), Vec::new(), IndexMap::new(), IndexMap::new(), diff --git a/crates/shirabe/src/command/status_command.rs b/crates/shirabe/src/command/status_command.rs index 29f04157..1c8afca8 100644 --- a/crates/shirabe/src/command/status_command.rs +++ b/crates/shirabe/src/command/status_command.rs @@ -69,8 +69,8 @@ impl StatusCommand { }); let mut guesser = VersionGuesser::new( composer.get_config(), - process_executor.clone(), - parser.clone(), + process_executor, + parser, Some(io.clone()), ); let dumper = ArrayDumper::new(); @@ -117,8 +117,8 @@ impl StatusCommand { .is_some() { let previous_ref = match package.get_installation_source().as_deref() { - Some("source") => package.get_source_reference().map(|s| s.to_string()), - Some("dist") => package.get_dist_reference().map(|s| s.to_string()), + Some("source") => package.get_source_reference(), + Some("dist") => package.get_dist_reference(), _ => None, }; diff --git a/crates/shirabe/src/command/update_command.rs b/crates/shirabe/src/command/update_command.rs index d6c20b45..686e784d 100644 --- a/crates/shirabe/src/command/update_command.rs +++ b/crates/shirabe/src/command/update_command.rs @@ -206,12 +206,12 @@ impl Command for UpdateCommand { let root_package = composer.get_package(); root_package.set_references(RootPackageLoader::extract_references( &reqs, - root_package.get_references().clone(), + root_package.get_references(), )); root_package.set_stability_flags(RootPackageLoader::extract_stability_flags( &reqs, &root_package.get_minimum_stability(), - root_package.get_stability_flags().clone(), + root_package.get_stability_flags(), )); let parser = VersionParser::new(); @@ -478,7 +478,7 @@ impl Command for UpdateCommand { ) .set_optimize_autoloader(optimize) .set_class_map_authoritative(authoritative) - .set_apcu_autoloader(apcu, apcu_prefix.clone()) + .set_apcu_autoloader(apcu, apcu_prefix) .set_update(true) .set_install( !input @@ -766,9 +766,9 @@ impl UpdateCommand { .collect(); let mut repository_set = RepositorySet::new( &composer.get_package().get_minimum_stability(), - composer.get_package().get_stability_flags().clone(), + composer.get_package().get_stability_flags(), root_aliases, - composer.get_package().get_references().clone(), + composer.get_package().get_references(), IndexMap::new(), IndexMap::new(), ); diff --git a/crates/shirabe/src/config.rs b/crates/shirabe/src/config.rs index c389063b..cb5b5ea9 100644 --- a/crates/shirabe/src/config.rs +++ b/crates/shirabe/src/config.rs @@ -596,7 +596,7 @@ impl Config { let raw = if matches!(val, PhpMixed::Bool(false)) { self.config.get(key).cloned().unwrap_or(PhpMixed::Null) } else { - val.clone() + val }; return Ok(PhpMixed::Int(intval(&raw).max(0))); } @@ -1122,10 +1122,7 @@ impl Config { if self.get_with_flags("secure-http", 0)?.as_bool() == Some(true) { if scheme.as_deref() == Some("svn") { if in_array( - hostname - .clone() - .map(PhpMixed::String) - .unwrap_or(PhpMixed::Null), + hostname.map(PhpMixed::String).unwrap_or(PhpMixed::Null), &self.get_with_flags("secure-svn-domains", 0)?, true, ) { diff --git a/crates/shirabe/src/console/application.rs b/crates/shirabe/src/console/application.rs index 6febdf95..746ed47c 100644 --- a/crates/shirabe/src/console/application.rs +++ b/crates/shirabe/src/console/application.rs @@ -612,7 +612,7 @@ impl Application { Err(_) => return PhpMixed::Bool(false), }; - config.get("use-parent-dir").clone() + config.get("use-parent-dir") } fn is_running_as_root(&self) -> bool { @@ -917,7 +917,7 @@ impl Application { namespace, self.get_abbreviation_suggestions(&namespaces), ), - namespaces.clone(), + namespaces, 0, )) .into()); @@ -1951,11 +1951,7 @@ impl ApplicationHandle { io.write_error3( &format!( "Changed CWD to {}", - if !cwd.is_empty() { - cwd.clone() - } else { - nwd.clone() - } + if !cwd.is_empty() { cwd } else { nwd.clone() } ), true, io_interface::DEBUG, @@ -2414,7 +2410,7 @@ impl ApplicationHandle { // instantiation; reading/overriding its // name/description requires the typed SymfonyCommand model that // the Symfony stub does not yet provide. - let _ = description.clone(); + let _ = description; let _ = &mut cmd; cmd } else { @@ -2425,7 +2421,7 @@ impl ApplicationHandle { // command registry is modelled. let _ = ScriptAliasCommand::new( script.clone(), - Some(description.clone()), + Some(description), aliases, ); PhpMixed::Null diff --git a/crates/shirabe/src/dependency_resolver/default_policy.rs b/crates/shirabe/src/dependency_resolver/default_policy.rs index 24069466..d81c8621 100644 --- a/crates/shirabe/src/dependency_resolver/default_policy.rs +++ b/crates/shirabe/src/dependency_resolver/default_policy.rs @@ -99,7 +99,7 @@ impl DefaultPolicy { pub(crate) fn prune_to_best_version(&self, pool: &Pool, literals: Vec) -> Vec { if let Some(ref preferred_versions) = self.preferred_versions { - let name = pool.literal_to_package(literals[0]).get_name().to_string(); + let name = pool.literal_to_package(literals[0]).get_name(); if let Some(preferred_version) = preferred_versions.get(&name) { let best_literals: Vec = literals .iter() @@ -174,8 +174,8 @@ impl DefaultPolicy { impl PolicyInterface for DefaultPolicy { fn version_compare(&self, a: BasePackageHandle, b: BasePackageHandle, operator: &str) -> bool { if self.prefer_stable { - let stab_a = a.get_stability().to_string(); - let stab_b = b.get_stability().to_string(); + let stab_a = a.get_stability(); + let stab_b = b.get_stability(); if stab_a != stab_b { let (mut stab_a, mut stab_b) = (stab_a, stab_b); if self.prefer_lowest @@ -198,17 +198,15 @@ impl PolicyInterface for DefaultPolicy { if (a.is_dev() && a.get_version().starts_with("dev-")) || (b.is_dev() && b.get_version().starts_with("dev-")) { - let constraint = - SimpleConstraint::new(operator.to_string(), b.get_version().to_string(), None); - let version = - SimpleConstraint::new("==".to_string(), a.get_version().to_string(), None); + let constraint = SimpleConstraint::new(operator.to_string(), b.get_version(), None); + let version = SimpleConstraint::new("==".to_string(), a.get_version(), None); return constraint.match_specific(&version, true); } CompilingMatcher::r#match( - &SimpleConstraint::new(operator.to_string(), b.get_version().to_string(), None).into(), + &SimpleConstraint::new(operator.to_string(), b.get_version(), None).into(), SimpleConstraint::OP_EQ, - a.get_version().to_string(), + a.get_version(), ) } diff --git a/crates/shirabe/src/dependency_resolver/lock_transaction.rs b/crates/shirabe/src/dependency_resolver/lock_transaction.rs index a9086983..a8253215 100644 --- a/crates/shirabe/src/dependency_resolver/lock_transaction.rs +++ b/crates/shirabe/src/dependency_resolver/lock_transaction.rs @@ -199,7 +199,7 @@ impl LockTransaction { return present_package.clone(); } - package.clone() + package } pub fn get_aliases( diff --git a/crates/shirabe/src/dependency_resolver/pool.rs b/crates/shirabe/src/dependency_resolver/pool.rs index 1b072b47..adf42f54 100644 --- a/crates/shirabe/src/dependency_resolver/pool.rs +++ b/crates/shirabe/src/dependency_resolver/pool.rs @@ -321,7 +321,7 @@ impl Pool { || CompilingMatcher::r#match( constraint.unwrap(), SimpleConstraint::OP_EQ, - candidate_version.to_string(), + candidate_version, ); } diff --git a/crates/shirabe/src/dependency_resolver/pool_builder.rs b/crates/shirabe/src/dependency_resolver/pool_builder.rs index 83307d8c..c56090f5 100644 --- a/crates/shirabe/src/dependency_resolver/pool_builder.rs +++ b/crates/shirabe/src/dependency_resolver/pool_builder.rs @@ -757,7 +757,7 @@ impl PoolBuilder { if name_owned != package.get_name() { format!("{} (via replace of {})", package.get_name(), name_owned) } else { - package.get_name().to_string() + package.get_name() } }, &self.skipped_load[name], diff --git a/crates/shirabe/src/dependency_resolver/pool_optimizer.rs b/crates/shirabe/src/dependency_resolver/pool_optimizer.rs index f188d1b8..16013e34 100644 --- a/crates/shirabe/src/dependency_resolver/pool_optimizer.rs +++ b/crates/shirabe/src/dependency_resolver/pool_optimizer.rs @@ -605,7 +605,7 @@ impl PoolOptimizer { let version_str = package_index .get(require) .and_then(|m| m.get(&id)) - .map(|p| p.get_version().to_string()); + .map(|p| p.get_version()); if let Some(version_str) = version_str && !CompilingMatcher::r#match( link_constraint, diff --git a/crates/shirabe/src/dependency_resolver/problem.rs b/crates/shirabe/src/dependency_resolver/problem.rs index a2072372..a944ff0c 100644 --- a/crates/shirabe/src/dependency_resolver/problem.rs +++ b/crates/shirabe/src/dependency_resolver/problem.rs @@ -634,12 +634,7 @@ impl Problem { .iter() .filter(|p| { root_reqs[package_name].matches( - &SimpleConstraint::new( - "==".to_string(), - p.get_version().to_string(), - None, - ) - .into(), + &SimpleConstraint::new("==".to_string(), p.get_version(), None).into(), ) }) .collect(); @@ -678,12 +673,8 @@ impl Problem { .iter() .filter(|p| { temp_reqs[&name].matches( - &SimpleConstraint::new( - "==".to_string(), - p.get_version().to_string(), - None, - ) - .into(), + &SimpleConstraint::new("==".to_string(), p.get_version(), None) + .into(), ) }) .collect(); @@ -719,19 +710,14 @@ impl Problem { if let Some(ref lp) = locked_package { let fixed_constraint = AnyConstraint::from(SimpleConstraint::new( "==".to_string(), - lp.get_version().to_string(), + lp.get_version(), None, )); let filtered: Vec<&BasePackageHandle> = packages .iter() .filter(|p| { fixed_constraint.matches( - &SimpleConstraint::new( - "==".to_string(), - p.get_version().to_string(), - None, - ) - .into(), + &SimpleConstraint::new("==".to_string(), p.get_version(), None).into(), ) }) .collect(); @@ -1080,7 +1066,7 @@ impl Problem { let entry = prepared .entry(pkg_name.clone()) .or_insert_with(|| PreparedEntry { - name: package.get_pretty_name().to_string(), + name: package.get_pretty_name(), versions: IndexMap::new(), }); entry.name = package.get_pretty_name().to_string(); @@ -1200,7 +1186,7 @@ impl Problem { } } - let mut version: String = selected.get_pretty_version().to_string(); + let mut version: String = selected.get_pretty_version(); let extra = selected.get_extra(); if selected.as_complete().is_some() && extra.contains_key("config.platform") diff --git a/crates/shirabe/src/dependency_resolver/rule.rs b/crates/shirabe/src/dependency_resolver/rule.rs index e1572b0b..4ed8619c 100644 --- a/crates/shirabe/src/dependency_resolver/rule.rs +++ b/crates/shirabe/src/dependency_resolver/rule.rs @@ -146,7 +146,7 @@ impl Rule { _ => None, }, r if r == RULE_FIXED => match self.get_reason_data() { - ReasonData::Fixed { package } => Some(package.get_name().to_string()), + ReasonData::Fixed { package } => Some(package.get_name()), _ => None, }, r if r == RULE_PACKAGE_REQUIRES => match self.get_reason_data() { @@ -216,12 +216,7 @@ impl Rule { return true; } if !link.get_constraint().matches( - &SimpleConstraint::new( - "=".to_string(), - p.get_version().to_string(), - None, - ) - .into(), + &SimpleConstraint::new("=".to_string(), p.get_version(), None).into(), ) { return true; } @@ -256,12 +251,7 @@ impl Rule { return true; } if !constraint.matches( - &SimpleConstraint::new( - "=".to_string(), - p.get_version().to_string(), - None, - ) - .into(), + &SimpleConstraint::new("=".to_string(), p.get_version(), None).into(), ) { return true; } @@ -475,7 +465,7 @@ impl Rule { requires.push(pool.literal_to_package(*literal)); } - let text = link.get_pretty_string(source_package.clone()); + let text = link.get_pretty_string(source_package); if !requires.is_empty() { format!( "{} -> satisfiable by {}.", diff --git a/crates/shirabe/src/downloader/download_manager.rs b/crates/shirabe/src/downloader/download_manager.rs index 7ecdfd96..2aa9c74e 100644 --- a/crates/shirabe/src/downloader/download_manager.rs +++ b/crates/shirabe/src/downloader/download_manager.rs @@ -151,7 +151,7 @@ impl DownloadManager { "Downloader \"{}\" is a {} type downloader and can not be used to download {} for package {}", shirabe_php_shim::get_class_obj(&*downloader.borrow()), downloader_installation_source, - installation_source.clone().unwrap_or_default(), + installation_source.unwrap_or_default(), package, ), code: 0, @@ -521,8 +521,7 @@ impl DownloadManager { // reverse sources in case dist is the preferred source for this package if !self.prefer_source - && (self.prefer_dist - || "dist" == self.resolve_package_install_preference(package.clone())) + && (self.prefer_dist || "dist" == self.resolve_package_install_preference(package)) { sources = array_reverse(&sources, false); } diff --git a/crates/shirabe/src/downloader/file_downloader.rs b/crates/shirabe/src/downloader/file_downloader.rs index aaa3995a..bb5c9705 100644 --- a/crates/shirabe/src/downloader/file_downloader.rs +++ b/crates/shirabe/src/downloader/file_downloader.rs @@ -224,7 +224,7 @@ impl DownloaderInterface for FileDownloader { // TODO(plugin): dispatch PreFileDownloadEvent and apply its custom cache key / processed url. urls[0] = url.clone(); - let checksum = package.get_dist_sha1_checksum().map(|s| s.to_string()); + let checksum = package.get_dist_sha1_checksum(); let cache_key = url.cache_key.clone(); // use from cache if it is present and has a valid checksum or we have no checksum to check against @@ -263,7 +263,7 @@ impl DownloaderInterface for FileDownloader { self.last_cache_writes .lock() .unwrap() - .insert(package.get_name().to_string(), cache_key.clone()); + .insert(package.get_name(), cache_key.clone()); } } else { if output { @@ -297,15 +297,15 @@ impl DownloaderInterface for FileDownloader { DOWNLOAD_METADATA .lock() .unwrap() - .insert(package.get_name().to_string(), file_size); + .insert(package.get_name(), file_size); if Platform::get_env("GITHUB_ACTIONS").is_some() && Platform::get_env("COMPOSER_TESTS_ARE_RUNNING").is_none() { - RESPONSE_HEADERS.lock().unwrap().insert( - package.get_name().to_string(), - response.get_headers().clone(), - ); + RESPONSE_HEADERS + .lock() + .unwrap() + .insert(package.get_name(), response.get_headers().clone()); } if let Some(cache) = self.cache.as_ref() @@ -314,7 +314,7 @@ impl DownloaderInterface for FileDownloader { self.last_cache_writes .lock() .unwrap() - .insert(package.get_name().to_string(), cache_key.clone()); + .insert(package.get_name(), cache_key.clone()); cache.borrow_mut().copy_from(&cache_key, &file_name); } @@ -479,7 +479,7 @@ impl DownloaderInterface for FileDownloader { path.to_string(), format!("{}/{}", vendor_dir, first_segment), format!("{}/composer/", vendor_dir), - vendor_dir.clone(), + vendor_dir, ]; if let Some(paths) = self diff --git a/crates/shirabe/src/downloader/fossil_downloader.rs b/crates/shirabe/src/downloader/fossil_downloader.rs index 9442e87c..2f6df9a4 100644 --- a/crates/shirabe/src/downloader/fossil_downloader.rs +++ b/crates/shirabe/src/downloader/fossil_downloader.rs @@ -138,10 +138,7 @@ impl VcsDownloader for FossilDownloader { "fossil".to_string(), "update".to_string(), "--".to_string(), - package - .get_source_reference() - .unwrap_or_default() - .to_string(), + package.get_source_reference().unwrap_or_default(), ], real_path, &mut output, @@ -190,10 +187,7 @@ impl VcsDownloader for FossilDownloader { "fossil".to_string(), "up".to_string(), "--".to_string(), - target - .get_source_reference() - .unwrap_or_default() - .to_string(), + target.get_source_reference().unwrap_or_default(), ], real_path, &mut output, diff --git a/crates/shirabe/src/downloader/git_downloader.rs b/crates/shirabe/src/downloader/git_downloader.rs index eaedc453..c2599d2b 100644 --- a/crates/shirabe/src/downloader/git_downloader.rs +++ b/crates/shirabe/src/downloader/git_downloader.rs @@ -426,13 +426,13 @@ impl GitDownloader { } let mut command1: Vec = vec!["git".to_string(), "checkout".to_string()]; - command1.extend(force.clone()); + command1.extend(force); command1.extend(vec![git_ref.clone(), "--".to_string()]); let command2 = vec![ "git".to_string(), "reset".to_string(), "--hard".to_string(), - git_ref.clone(), + git_ref, "--".to_string(), ]; { @@ -827,7 +827,7 @@ impl VcsDownloader for GitDownloader { io_interface::NORMAL, ); self.inner.io.write_error3( - &format!(" Cloning to cache at {}", cache_path.clone()), + &format!(" Cloning to cache at {}", cache_path), true, io_interface::DEBUG, ); @@ -909,7 +909,7 @@ impl VcsDownloader for GitDownloader { "git".to_string(), "clone".to_string(), "--no-checkout".to_string(), - cache_path.clone(), + cache_path, path.clone(), ]; base.extend(clone_flags); @@ -1054,7 +1054,7 @@ impl VcsDownloader for GitDownloader { .unwrap_or(false); if has_cached { msg = format!("Checking out {} from cache", self.get_short_hash(&r#ref)); - remote_url = cache_path.clone(); + remote_url = cache_path; } else { msg = format!("Checking out {}", self.get_short_hash(&r#ref)); remote_url = "%url%".to_string(); @@ -1092,7 +1092,7 @@ impl VcsDownloader for GitDownloader { "set-url".to_string(), "composer".to_string(), "--".to_string(), - remote_url.clone(), + remote_url, ], vec![ "git".to_string(), diff --git a/crates/shirabe/src/downloader/hg_downloader.rs b/crates/shirabe/src/downloader/hg_downloader.rs index 98ba4174..1feecd3e 100644 --- a/crates/shirabe/src/downloader/hg_downloader.rs +++ b/crates/shirabe/src/downloader/hg_downloader.rs @@ -100,10 +100,7 @@ impl VcsDownloader for HgDownloader { "hg".to_string(), "up".to_string(), "--".to_string(), - package - .get_source_reference() - .unwrap_or_default() - .to_string(), + package.get_source_reference().unwrap_or_default(), ]; let mut ignored_output = String::new(); if self.inner.process.borrow_mut().execute_args( @@ -139,10 +136,7 @@ impl VcsDownloader for HgDownloader { self.inner.process.clone(), ); - let ref_ = target - .get_source_reference() - .unwrap_or_default() - .to_string(); + let ref_ = target.get_source_reference().unwrap_or_default(); self.inner.io.write_error(&format!( " Updating to {}", target.get_source_reference().unwrap_or_default() @@ -163,7 +157,7 @@ impl VcsDownloader for HgDownloader { }; hg_utils.run_command(pull_command, url.to_string(), Some(path.to_string())); - let ref_clone = ref_.clone(); + let ref_clone = ref_; let up_command = move |_url: String| -> Vec { vec![ "hg".to_string(), diff --git a/crates/shirabe/src/downloader/path_downloader.rs b/crates/shirabe/src/downloader/path_downloader.rs index d6c5fee7..1f5498ad 100644 --- a/crates/shirabe/src/downloader/path_downloader.rs +++ b/crates/shirabe/src/downloader/path_downloader.rs @@ -64,12 +64,12 @@ impl PathDownloader { let mut guesser = VersionGuesser::new( self.inner.config.clone(), self.inner.process.clone(), - parser.clone(), + parser, Some(self.inner.io.borrow().clone()), ); let dumper = ArrayDumper::new(); - let package_config = dumper.dump(package.clone()); + let package_config = dumper.dump(package); let package_version = guesser.guess_version(&package_config, &path); if let Ok(Some(version)) = package_version { return version.commit; @@ -332,7 +332,7 @@ impl DownloaderInterface for PathDownloader { self.inner.io.borrow().write_error3( &format!( " - {}{}", - InstallOperation::format(package.clone(), false), + InstallOperation::format(package, false), appendix ), true, diff --git a/crates/shirabe/src/downloader/perforce_downloader.rs b/crates/shirabe/src/downloader/perforce_downloader.rs index 2bbf9b72..5f272fd5 100644 --- a/crates/shirabe/src/downloader/perforce_downloader.rs +++ b/crates/shirabe/src/downloader/perforce_downloader.rs @@ -116,7 +116,7 @@ impl VcsDownloader for PerforceDownloader { path: &str, url: &str, ) -> anyhow::Result> { - let source_ref = package.get_source_reference().map(|s| s.to_string()); + let source_ref = package.get_source_reference(); let label = self.get_label_from_source_reference(source_ref.clone().unwrap_or_default()); self.inner.io.write_error(&format!( @@ -127,7 +127,7 @@ impl VcsDownloader for PerforceDownloader { { let mut perforce = self.perforce.borrow_mut(); let perforce = perforce.as_mut().unwrap(); - perforce.set_stream(&source_ref.clone().unwrap_or_default()); + perforce.set_stream(&source_ref.unwrap_or_default()); perforce.p4_login(); perforce.write_p4_client_spec(); perforce.connect_client(); diff --git a/crates/shirabe/src/downloader/vcs_downloader.rs b/crates/shirabe/src/downloader/vcs_downloader.rs index 26394341..45ca0e3a 100644 --- a/crates/shirabe/src/downloader/vcs_downloader.rs +++ b/crates/shirabe/src/downloader/vcs_downloader.rs @@ -57,14 +57,14 @@ impl VcsDownloaderBase { let mut guesser = VersionGuesser::new( self.config.clone(), self.process.clone(), - parser.clone(), + parser, Some(self.io.clone()), ); let dumper = ArrayDumper::new(); - let package_config = dumper.dump(package.clone()); + let package_config = dumper.dump(package); if let Ok(Some(package_version)) = guesser.guess_version(&package_config, path) { - return package_version.commit.clone(); + return package_version.commit; } None @@ -415,15 +415,15 @@ pub trait VcsDownloader: let guesser = VersionGuesser::new( self.config().clone(), self.process().clone(), - parser.clone(), + parser, Some(self.io().clone()), ); let dumper = ArrayDumper::new(); - let package_config = dumper.dump(package.clone()); + let package_config = dumper.dump(package); let mut guesser = guesser; if let Ok(Some(package_version)) = guesser.guess_version(&package_config, path) { - return package_version.commit.clone(); + return package_version.commit; } None diff --git a/crates/shirabe/src/event_dispatcher/event_dispatcher.rs b/crates/shirabe/src/event_dispatcher/event_dispatcher.rs index abc8aad8..d9bf1720 100644 --- a/crates/shirabe/src/event_dispatcher/event_dispatcher.rs +++ b/crates/shirabe/src/event_dispatcher/event_dispatcher.rs @@ -790,7 +790,7 @@ impl EventDispatcher { if exit_code != 0 { self.io.write_error3(&format!( "Script {} handling the {} event returned with error code {}", - callable_str.clone(), + callable_str, event.get_name(), exit_code ), true, crate::io::QUIET); diff --git a/crates/shirabe/src/factory.rs b/crates/shirabe/src/factory.rs index 13697a4e..98fba740 100644 --- a/crates/shirabe/src/factory.rs +++ b/crates/shirabe/src/factory.rs @@ -261,7 +261,7 @@ impl Factory { // load global config let global_config_path = format!("{}/config.json", config.get_str("home")?); - let mut file = JsonFile::new(global_config_path.clone(), None, io.clone())?; + let mut file = JsonFile::new(global_config_path, None, io.clone())?; if file.exists() { if let Some(io_ref) = &io { io_ref.write_error3( @@ -316,7 +316,7 @@ impl Factory { // load global auth file let auth_file_path = format!("{}/auth.json", config.get_str("home")?); - let mut auth_file = JsonFile::new(auth_file_path.clone(), None, io.clone())?; + let mut auth_file = JsonFile::new(auth_file_path, None, io.clone())?; if auth_file.exists() { if let Some(io_ref) = &io { io_ref.write_error3( @@ -707,7 +707,7 @@ impl Factory { composer.get_package().clone(), Some(&process), ); - composer.set_repository_manager(rm.clone()); + composer.set_repository_manager(rm); // initialize installation manager let im = std::rc::Rc::new(std::cell::RefCell::new( @@ -731,8 +731,7 @@ impl Factory { composer_full.set_download_manager(dm.clone()); // initialize autoload generator - let generator = - AutoloadGenerator::new(dispatcher.clone(), Some(io.clone())); + let generator = AutoloadGenerator::new(dispatcher, Some(io.clone())); composer_full.set_autoload_generator(std::rc::Rc::new( std::cell::RefCell::new(generator), )); @@ -779,9 +778,9 @@ impl Factory { None, Some(io.clone()), )?, - im.clone(), + im, &file_get_contents(composer_file_path).unwrap_or_default(), - process.clone(), + process, ); composer_full .set_locker(std::rc::Rc::new(std::cell::RefCell::new(locker))); @@ -795,9 +794,9 @@ impl Factory { let locker = Locker::new( io.clone(), JsonFile::new(Platform::get_dev_null(), None, Some(io.clone()))?, - im.clone(), + im, &lock_contents, - process.clone(), + process, ); composer_full .set_locker(std::rc::Rc::new(std::cell::RefCell::new(locker))); @@ -1197,8 +1196,8 @@ impl Factory { config.clone(), http_downloader.clone(), event_dispatcher.cloned(), - cache.clone(), - fs.clone(), + cache, + fs, process.clone(), ))), ); @@ -1509,8 +1508,7 @@ impl Factory { ); http_downloader_options.insert("ssl".to_string(), PhpMixed::Array(ssl_map)); } - http_downloader_options = - array_replace_recursive(http_downloader_options, options.clone()); + http_downloader_options = array_replace_recursive(http_downloader_options, options); } let http_downloader_result: anyhow::Result = Ok(HttpDownloader::new( io.clone(), @@ -1576,7 +1574,7 @@ impl Factory { } Self::validate_json_schema( io, - ValidateJsonInput::Data(auth_data.clone()), + ValidateJsonInput::Data(auth_data), JsonFile::AUTH_SCHEMA, Some("COMPOSER_AUTH"), )?; diff --git a/crates/shirabe/src/installer.rs b/crates/shirabe/src/installer.rs index 883ee134..93bee0bf 100644 --- a/crates/shirabe/src/installer.rs +++ b/crates/shirabe/src/installer.rs @@ -173,7 +173,7 @@ impl Installer { io, config, package: package.clone(), - fixed_root_package: package.clone(), + fixed_root_package: package, download_manager, repository_manager, locker, @@ -1338,8 +1338,8 @@ impl Installer { let requires: IndexMap; if for_update { - minimum_stability = self.package.get_minimum_stability().to_string(); - stability_flags = self.package.get_stability_flags().clone(); + minimum_stability = self.package.get_minimum_stability(); + stability_flags = self.package.get_stability_flags(); // Convert Link map merge into ConstraintInterface map for use later let mut req_links: IndexMap = IndexMap::new(); @@ -1392,8 +1392,7 @@ impl Installer { constraint = filter .filter_constraint(&req, constraint, false) .unwrap_or_else(|_| { - SimpleConstraint::new("=".to_string(), String::new().to_string(), None) - .into() + SimpleConstraint::new("=".to_string(), String::new(), None).into() }); } root_requires.insert(req, constraint); @@ -1422,7 +1421,7 @@ impl Installer { &minimum_stability, stability_flags, root_aliases_input, - self.package.get_references().clone(), + self.package.get_references(), root_requires, self.temporary_constraints.clone(), ); diff --git a/crates/shirabe/src/installer/installation_manager.rs b/crates/shirabe/src/installer/installation_manager.rs index 4eb905ed..9517eada 100644 --- a/crates/shirabe/src/installer/installation_manager.rs +++ b/crates/shirabe/src/installer/installation_manager.rs @@ -184,7 +184,7 @@ impl InstallationManager { .iter() .position(|installer| installer.supports(&r#type)); if let Some(index) = index { - self.cache.borrow_mut().insert(r#type.clone(), index); + self.cache.borrow_mut().insert(r#type, index); return Ok(self.installers[index].clone()); } @@ -208,14 +208,12 @@ impl InstallationManager { if let Some(alias) = package.as_alias() { let alias_of: PackageInterfaceHandle = alias.get_alias_of().into(); - return Ok( - repo.has_package(package.clone()) && self.is_package_installed(repo, alias_of)? - ); + return Ok(repo.has_package(package) && self.is_package_installed(repo, alias_of)?); } Ok(self .get_installer(&package.get_type())? - .is_installed(repo, package.clone())) + .is_installed(repo, package)) } /// Install binary for the given package. @@ -778,7 +776,7 @@ impl InstallationManager { ) { let package = operation.get_package(); - repo.remove_package(package.clone().into()); + repo.remove_package(package.into()); } /// Returns the installation path of a package @@ -924,7 +922,7 @@ impl InstallationManager { .borrow_mut() .entry(notification_url) .or_default() - .push(package.clone()); + .push(package); } } diff --git a/crates/shirabe/src/installer/metapackage_installer.rs b/crates/shirabe/src/installer/metapackage_installer.rs index b140f912..cb6d13c3 100644 --- a/crates/shirabe/src/installer/metapackage_installer.rs +++ b/crates/shirabe/src/installer/metapackage_installer.rs @@ -33,7 +33,7 @@ impl InstallerInterface for MetapackageInstaller { repo: &dyn InstalledRepositoryInterface, package: PackageInterfaceHandle, ) -> bool { - repo.has_package(package.clone()) + repo.has_package(package) } async fn download( @@ -103,7 +103,7 @@ impl InstallerInterface for MetapackageInstaller { ); let mut repo = repo.borrow_mut(); - repo.remove_package(initial.clone()); + repo.remove_package(initial); repo.add_package(PackageInterfaceHandle::dup(&target)); Ok(None) @@ -128,7 +128,7 @@ impl InstallerInterface for MetapackageInstaller { io_interface::NORMAL, ); - repo.borrow_mut().remove_package(package.clone()); + repo.borrow_mut().remove_package(package); Ok(None) } diff --git a/crates/shirabe/src/installer/noop_installer.rs b/crates/shirabe/src/installer/noop_installer.rs index 924bb46f..c83bf674 100644 --- a/crates/shirabe/src/installer/noop_installer.rs +++ b/crates/shirabe/src/installer/noop_installer.rs @@ -19,7 +19,7 @@ impl InstallerInterface for NoopInstaller { repo: &dyn InstalledRepositoryInterface, package: PackageInterfaceHandle, ) -> bool { - repo.has_package(package.clone()) + repo.has_package(package) } async fn download( @@ -76,7 +76,7 @@ impl InstallerInterface for NoopInstaller { .into()); } - repo.remove_package(initial.clone()); + repo.remove_package(initial); if !repo.has_package(target.clone()) { repo.add_package(PackageInterfaceHandle::dup(&target)); } @@ -97,7 +97,7 @@ impl InstallerInterface for NoopInstaller { } .into()); } - repo.remove_package(package.clone()); + repo.remove_package(package); Ok(None) } diff --git a/crates/shirabe/src/json/json_file.rs b/crates/shirabe/src/json/json_file.rs index 91e0d380..868745ef 100644 --- a/crates/shirabe/src/json/json_file.rs +++ b/crates/shirabe/src/json/json_file.rs @@ -228,7 +228,7 @@ impl JsonFile { if self.path == "php://memory" { file_put_contents( &self.path, - Self::encode_with_options(&hash, options.clone()).as_bytes(), + Self::encode_with_options(&hash, options).as_bytes(), ); return Ok(()); @@ -469,7 +469,7 @@ impl JsonFile { if options.pretty_print && options.indent != Self::INDENT_DEFAULT { // Pretty printing and not using default indentation - let indent_owned = options.indent.clone(); + let indent_owned = options.indent; return Preg::replace_callback( php_regex!(r"#^ {4,}#m"), move |m: &indexmap::IndexMap< diff --git a/crates/shirabe/src/json/json_manipulator.rs b/crates/shirabe/src/json/json_manipulator.rs index e501940c..3647e846 100644 --- a/crates/shirabe/src/json/json_manipulator.rs +++ b/crates/shirabe/src/json/json_manipulator.rs @@ -676,13 +676,13 @@ impl JsonManipulator { if decoded.as_array().and_then(|a| a.get(main_node)).is_none() { if let Some(ref sub) = sub_name { let mut inner: IndexMap = IndexMap::new(); - inner.insert(sub.clone(), value.clone()); + inner.insert(sub.clone(), value); let mut outer: IndexMap = IndexMap::new(); - outer.insert(name_owned.clone(), PhpMixed::Array(inner)); + outer.insert(name_owned, PhpMixed::Array(inner)); self.add_main_key(main_node, PhpMixed::Array(outer))?; } else { let mut outer: IndexMap = IndexMap::new(); - outer.insert(name_owned.clone(), value.clone()); + outer.insert(name_owned, value); self.add_main_key(main_node, PhpMixed::Array(outer))?; } @@ -717,14 +717,14 @@ impl JsonManipulator { ); if let Some(cm) = child { let content_str = children[cm.value_pos..cm.value_end].to_string(); - let mut value_local = value.clone(); - if sub_name.is_some() { + let mut value_local = value; + if let Some(sub_name) = sub_name { let mut cur_val = json_decode(&content_str, true).unwrap_or(PhpMixed::Null); if !is_array(&cur_val) { cur_val = PhpMixed::Array(IndexMap::new()); } if let Some(arr) = cur_val.as_array_mut() { - arr.insert(sub_name.clone().unwrap(), value_local.clone()); + arr.insert(sub_name, value_local.clone()); } value_local = cur_val; } @@ -754,7 +754,7 @@ impl JsonManipulator { .unwrap_or_default(); let content_present = leading_match.get("content").is_some(); if content_present { - let mut value_local = value.clone(); + let mut value_local = value; if let Some(ref sub) = sub_name { let mut wrap: IndexMap = IndexMap::new(); wrap.insert(sub.clone(), value_local.clone()); @@ -780,7 +780,7 @@ impl JsonManipulator { &children, ); } else { - whitespace = leading_space.clone(); + whitespace = leading_space; children = Preg::replace( format!("#^{{{}#", whitespace), &addcslashes( @@ -799,7 +799,7 @@ impl JsonManipulator { ); } } else { - let mut value_local = value.clone(); + let mut value_local = value; if let Some(ref sub) = sub_name { let mut wrap: IndexMap = IndexMap::new(); wrap.insert(sub.clone(), value_local.clone()); @@ -1084,7 +1084,7 @@ impl JsonManipulator { &children, ); } else { - whitespace = leading_whitespace.clone(); + whitespace = leading_whitespace; children = Preg::replace( format!("#^\\[{}#", whitespace), &addcslashes( diff --git a/crates/shirabe/src/package/alias_package.rs b/crates/shirabe/src/package/alias_package.rs index fcefcc63..ef503b16 100644 --- a/crates/shirabe/src/package/alias_package.rs +++ b/crates/shirabe/src/package/alias_package.rs @@ -59,7 +59,7 @@ impl AliasPackage { pub fn new(alias_of: PackageHandle, version: String, pretty_version: String) -> Self { let alias_name = alias_of.get_name(); - let stability = VersionParser::parse_stability(&version).to_string(); + let stability = VersionParser::parse_stability(&version); let dev = stability == "dev"; let mut this = Self { @@ -132,7 +132,7 @@ impl AliasPackage { // for self.version requirements, we use the original package's branch name instead, to avoid leaking the magic dev-master-alias to users let mut pretty_version = self.pretty_version.clone(); if pretty_version == VersionParser::DEFAULT_BRANCH_ALIAS { - pretty_version = self.alias_of.get_pretty_version().to_string(); + pretty_version = self.alias_of.get_pretty_version(); } if in_array( diff --git a/crates/shirabe/src/package/archiver/archive_manager.rs b/crates/shirabe/src/package/archiver/archive_manager.rs index 52132be9..92fe9d6c 100644 --- a/crates/shirabe/src/package/archiver/archive_manager.rs +++ b/crates/shirabe/src/package/archiver/archive_manager.rs @@ -57,7 +57,7 @@ impl ArchiveManager { package: CompletePackageInterfaceHandle, ) -> anyhow::Result> { let base_name = match package.get_archive_name() { - Some(name) => name.to_string(), + Some(name) => name, None => Preg::replace(php_regex!("#[^a-z0-9-_]#i"), "-", &package.get_name()), }; @@ -69,20 +69,14 @@ impl ArchiveManager { if Preg::is_match(php_regex!("{^[a-f0-9]{40}$}"), dist_ref) { parts.insert("dist_reference".to_string(), dist_ref.to_string()); if let Some(dist_type) = package.get_dist_type() { - parts.insert("dist_type".to_string(), dist_type.to_string()); + parts.insert("dist_type".to_string(), dist_type); } } else { - parts.insert( - "version".to_string(), - package.get_pretty_version().to_string(), - ); + parts.insert("version".to_string(), package.get_pretty_version()); parts.insert("dist_reference".to_string(), dist_ref.to_string()); } } else { - parts.insert( - "version".to_string(), - package.get_pretty_version().to_string(), - ); + parts.insert("version".to_string(), package.get_pretty_version()); } if let Some(source_reference) = package.get_source_reference() { @@ -128,10 +122,7 @@ impl ArchiveManager { let mut usable_archiver_idx: Option = None; for (i, archiver) in self.archivers.iter().enumerate() { - if archiver.supports( - format.clone(), - package.get_source_type().map(|s| s.to_string()), - ) { + if archiver.supports(format.clone(), package.get_source_type()) { usable_archiver_idx = Some(i); break; } diff --git a/crates/shirabe/src/package/dumper/array_dumper.rs b/crates/shirabe/src/package/dumper/array_dumper.rs index 85021a87..303a5871 100644 --- a/crates/shirabe/src/package/dumper/array_dumper.rs +++ b/crates/shirabe/src/package/dumper/array_dumper.rs @@ -32,39 +32,30 @@ impl ArrayDumper { let mut data: IndexMap = IndexMap::new(); data.insert( "name".to_string(), - PhpMixed::String(package.get_pretty_name().to_string()), + PhpMixed::String(package.get_pretty_name()), ); data.insert( "version".to_string(), - PhpMixed::String(package.get_pretty_version().to_string()), + PhpMixed::String(package.get_pretty_version()), ); data.insert( "version_normalized".to_string(), - PhpMixed::String(package.get_version().to_string()), + PhpMixed::String(package.get_version()), ); if let Some(target_dir) = package.get_target_dir() { - data.insert( - "target-dir".to_string(), - PhpMixed::String(target_dir.to_string()), - ); + data.insert("target-dir".to_string(), PhpMixed::String(target_dir)); } if let Some(source_type) = package.get_source_type() { let mut source = IndexMap::new(); - source.insert( - "type".to_string(), - PhpMixed::String(source_type.to_string()), - ); + source.insert("type".to_string(), PhpMixed::String(source_type)); source.insert( "url".to_string(), PhpMixed::String(package.get_source_url().unwrap_or_default()), ); if let Some(reference) = package.get_source_reference() { - source.insert( - "reference".to_string(), - PhpMixed::String(reference.to_string()), - ); + source.insert("reference".to_string(), PhpMixed::String(reference)); } if let Some(mirrors) = package.get_source_mirrors() && !mirrors.is_empty() @@ -79,19 +70,16 @@ impl ArrayDumper { if let Some(dist_type) = package.get_dist_type() { let mut dist: IndexMap = IndexMap::new(); - dist.insert("type".to_string(), PhpMixed::String(dist_type.to_string())); + dist.insert("type".to_string(), PhpMixed::String(dist_type)); dist.insert( "url".to_string(), PhpMixed::String(package.get_dist_url().unwrap_or_default()), ); if let Some(reference) = package.get_dist_reference() { - dist.insert( - "reference".to_string(), - PhpMixed::String(reference.to_string()), - ); + dist.insert("reference".to_string(), PhpMixed::String(reference)); } if let Some(shasum) = package.get_dist_sha1_checksum() { - dist.insert("shasum".to_string(), PhpMixed::String(shasum.to_string())); + dist.insert("shasum".to_string(), PhpMixed::String(shasum)); } if let Some(mirrors) = package.get_dist_mirrors() && !mirrors.is_empty() @@ -122,7 +110,7 @@ impl ArrayDumper { let suggests = package.get_suggests(); if !suggests.is_empty() { - let mut sorted_suggests = suggests.clone(); + let mut sorted_suggests = suggests; sorted_suggests.sort_keys(); data.insert( "suggest".to_string(), @@ -156,7 +144,7 @@ impl ArrayDumper { } let pkg_type = package.get_type(); if !pkg_type.is_empty() { - data.insert("type".to_string(), PhpMixed::String(pkg_type.to_string())); + data.insert("type".to_string(), PhpMixed::String(pkg_type)); } let extra = package.get_extra(); if !extra.is_empty() { @@ -168,7 +156,7 @@ impl ArrayDumper { if let Some(installation_source) = package.get_installation_source() { data.insert( "installation-source".to_string(), - PhpMixed::String(installation_source.to_string()), + PhpMixed::String(installation_source), ); } let autoload = package.get_autoload(); @@ -188,7 +176,7 @@ impl ArrayDumper { if let Some(notification_url) = package.get_notification_url() { data.insert( "notification-url".to_string(), - PhpMixed::String(notification_url.to_string()), + PhpMixed::String(notification_url), ); } let include_paths = package.get_include_paths(); @@ -217,10 +205,7 @@ impl ArrayDumper { .entry("archive".to_string()) .or_insert_with(|| PhpMixed::Array(IndexMap::new())); if let PhpMixed::Array(archive) = entry { - archive.insert( - "name".to_string(), - PhpMixed::String(archive_name.to_string()), - ); + archive.insert("name".to_string(), PhpMixed::String(archive_name)); } } let archive_excludes = complete_pkg.get_archive_excludes(); @@ -282,16 +267,10 @@ impl ArrayDumper { ); } if let Some(description) = complete_pkg.get_description() { - data.insert( - "description".to_string(), - PhpMixed::String(description.to_string()), - ); + data.insert("description".to_string(), PhpMixed::String(description)); } if let Some(homepage) = complete_pkg.get_homepage() { - data.insert( - "homepage".to_string(), - PhpMixed::String(homepage.to_string()), - ); + data.insert("homepage".to_string(), PhpMixed::String(homepage)); } let mut keywords = complete_pkg.get_keywords(); if !keywords.is_empty() { @@ -336,7 +315,7 @@ impl ArrayDumper { if complete_pkg.is_abandoned() { let abandoned_value = complete_pkg .get_replacement_package() - .map(|r| PhpMixed::String(r.to_string())) + .map(PhpMixed::String) .unwrap_or(PhpMixed::Bool(true)); data.insert("abandoned".to_string(), abandoned_value); } @@ -347,7 +326,7 @@ impl ArrayDumper { if !minimum_stability.is_empty() { data.insert( "minimum-stability".to_string(), - PhpMixed::String(minimum_stability.to_string()), + PhpMixed::String(minimum_stability), ); } } diff --git a/crates/shirabe/src/package/loader/validating_array_loader.rs b/crates/shirabe/src/package/loader/validating_array_loader.rs index da022b1b..9ab7d583 100644 --- a/crates/shirabe/src/package/loader/validating_array_loader.rs +++ b/crates/shirabe/src/package/loader/validating_array_loader.rs @@ -650,7 +650,7 @@ impl LoaderInterface for ValidatingArrayLoader { v.as_array().unwrap().clone() } else { let mut m = IndexMap::new(); - m.insert("0".to_string(), v.clone()); + m.insert("0".to_string(), v); m }; diff --git a/crates/shirabe/src/package/locker.rs b/crates/shirabe/src/package/locker.rs index a2f3c0c9..02cbfa4a 100644 --- a/crates/shirabe/src/package/locker.rs +++ b/crates/shirabe/src/package/locker.rs @@ -831,11 +831,8 @@ impl Locker { let no_show_signature_flags = GitUtil::get_no_show_signature_flags(&self.process); - let mut args: Vec = vec![ - "-n1".to_string(), - "--format=%ct".to_string(), - source_ref.clone(), - ]; + let mut args: Vec = + vec!["-n1".to_string(), "--format=%ct".to_string(), source_ref]; args.extend(no_show_signature_flags); let command = GitUtil::build_rev_list_command(&self.process, args); let mut output = PhpMixed::Null; @@ -866,7 +863,7 @@ impl Locker { PhpMixed::String("--template".to_string()), PhpMixed::String("{date|hgdate}".to_string()), PhpMixed::String("-r".to_string()), - PhpMixed::String(source_ref.clone()), + PhpMixed::String(source_ref), ]), &mut output, path.as_deref(), diff --git a/crates/shirabe/src/package/package.rs b/crates/shirabe/src/package/package.rs index ea415b9c..bc99d08a 100644 --- a/crates/shirabe/src/package/package.rs +++ b/crates/shirabe/src/package/package.rs @@ -71,7 +71,7 @@ pub struct Package { impl Package { /// Creates a new in memory package. pub fn new(name: String, version: String, pretty_version: String) -> Self { - let stability = VersionParser::parse_stability(&version).to_string(); + let stability = VersionParser::parse_stability(&version); let dev = stability == "dev"; Self { id: -1, @@ -459,7 +459,7 @@ impl Package { self.version = version; self.pretty_version = pretty_version; - self.stability = VersionParser::parse_stability(&self.version).to_string(); + self.stability = VersionParser::parse_stability(&self.version); self.dev = self.stability == "dev"; } diff --git a/crates/shirabe/src/package/version/version_bumper.rs b/crates/shirabe/src/package/version/version_bumper.rs index e1f58942..cd52e9a4 100644 --- a/crates/shirabe/src/package/version/version_bumper.rs +++ b/crates/shirabe/src/package/version/version_bumper.rs @@ -26,11 +26,11 @@ impl VersionBumper { return Ok(pretty_constraint); } - let mut version = package.get_version().to_string(); + let mut version = package.get_version(); if version.starts_with("dev-") { let loader = ArrayLoader::new(Some(parser.clone()), false); let dumper = ArrayDumper::new(); - let dumped = dumper.dump(package.clone()); + let dumped = dumper.dump(package); let extra = loader.get_branch_alias(&dumped)?; if extra.is_none() || extra.as_deref() == Some(VersionParser::DEFAULT_BRANCH_ALIAS) { diff --git a/crates/shirabe/src/package/version/version_guesser.rs b/crates/shirabe/src/package/version/version_guesser.rs index 2f98e339..d7dc42eb 100644 --- a/crates/shirabe/src/package/version/version_guesser.rs +++ b/crates/shirabe/src/package/version/version_guesser.rs @@ -414,7 +414,7 @@ impl VersionGuesser { if VersionParser::DEFAULT_BRANCH_ALIAS == version { return Ok(Some(VersionData { - version: Some(version.clone()), + version: Some(version), commit: None, pretty_version: Some(format!("dev-{}", branch)), feature_version: None, diff --git a/crates/shirabe/src/package/version/version_parser.rs b/crates/shirabe/src/package/version/version_parser.rs index 8cf3aa72..4aecc834 100644 --- a/crates/shirabe/src/package/version/version_parser.rs +++ b/crates/shirabe/src/package/version/version_parser.rs @@ -130,7 +130,7 @@ impl VersionParser { return Ok(true); } - let sorted = Semver::sort(vec![normalized_to.clone(), normalized_from.clone()])?; + let sorted = Semver::sort(vec![normalized_to, normalized_from.clone()])?; Ok(sorted[0] == normalized_from) } diff --git a/crates/shirabe/src/package/version/version_selector.rs b/crates/shirabe/src/package/version/version_selector.rs index e8539212..bf5514a5 100644 --- a/crates/shirabe/src/package/version/version_selector.rs +++ b/crates/shirabe/src/package/version/version_selector.rs @@ -98,7 +98,7 @@ impl VersionSelector { }; let mut candidates = self.repository_set.borrow().find_packages( &strtolower(package_name), - constraint.clone(), + constraint, repo_set_flags, )?; @@ -273,7 +273,7 @@ impl VersionSelector { } } - let version = package.get_version().to_string(); + let version = package.get_version(); if !package.is_dev() { return self.transform_version( &version, @@ -299,7 +299,7 @@ impl VersionSelector { } } - Ok(package.get_pretty_version().to_string()) + Ok(package.get_pretty_version()) } fn transform_version( diff --git a/crates/shirabe/src/plugin/plugin_manager.rs b/crates/shirabe/src/plugin/plugin_manager.rs index aa3f0a7d..07b4438a 100644 --- a/crates/shirabe/src/plugin/plugin_manager.rs +++ b/crates/shirabe/src/plugin/plugin_manager.rs @@ -66,8 +66,7 @@ impl PluginManager { .borrow() .get_config() .borrow() - .get("allow-plugins") - .clone(); + .get("allow-plugins"); let locker = composer_rc.borrow().get_locker().clone(); let mut locker = locker.borrow_mut(); let allow_plugin_rules = @@ -81,7 +80,6 @@ impl PluginManager { .get_config() .borrow_mut() .get("allow-plugins") - .clone() }) .unwrap_or(PhpMixed::Bool(false)), None, @@ -232,8 +230,7 @@ impl PluginManager { let current_plugin_api_constraint = SimpleConstraint::new( "==".to_string(), self.version_parser - .normalize(¤t_plugin_api_version, None)? - .to_string(), + .normalize(¤t_plugin_api_version, None)?, None, ); @@ -859,8 +856,7 @@ impl PluginManager { .upgrade() .expect("PluginManager must not outlive Composer") .borrow() - .get_config() - .clone(); + .get_config(); self.io.write_error(&format!("{}{} contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins", package, @@ -893,8 +889,7 @@ impl PluginManager { // persist answer in composer.json if it wasn't simply discarded if answer_str == "y" || answer_str == "n" { - let allow_plugins_value = - config.borrow_mut().get("allow-plugins").clone(); + let allow_plugins_value = config.borrow_mut().get("allow-plugins"); if let Some(arr) = allow_plugins_value.as_array() { let mut allow_plugins = arr.clone(); allow_plugins.insert(package.to_string(), PhpMixed::Bool(allow)); diff --git a/crates/shirabe/src/repository/array_repository.rs b/crates/shirabe/src/repository/array_repository.rs index ba085020..09c37766 100644 --- a/crates/shirabe/src/repository/array_repository.rs +++ b/crates/shirabe/src/repository/array_repository.rs @@ -59,7 +59,7 @@ impl ArrayRepository { FindPackageConstraint::Constraint(c) => c, FindPackageConstraint::String(s) => { let version_parser = VersionParser::new(); - version_parser.parse_constraints(&s).unwrap().clone() + version_parser.parse_constraints(&s).unwrap() } }; @@ -93,7 +93,7 @@ impl ArrayRepository { Some(FindPackageConstraint::Constraint(c)) => Some(c), Some(FindPackageConstraint::String(s)) => { let version_parser = VersionParser::new(); - Some(version_parser.parse_constraints(&s).unwrap().clone()) + Some(version_parser.parse_constraints(&s).unwrap()) } }; @@ -144,11 +144,7 @@ impl ArrayRepository { let aliased_package: Option = package.as_alias().map(|alias| alias.get_alias_of()); - self.packages - .borrow_mut() - .as_mut() - .unwrap() - .push(package.clone()); + self.packages.borrow_mut().as_mut().unwrap().push(package); if let Some(aliased_package) = aliased_package { // PHP: if ($aliasedPackage->getRepository() === null) $this->addPackage($aliasedPackage); diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs index fbee87d7..876ba3b8 100644 --- a/crates/shirabe/src/repository/composer_repository.rs +++ b/crates/shirabe/src/repository/composer_repository.rs @@ -2807,10 +2807,7 @@ impl ComposerRepository { .collect(); } - let mut response = self - .http_downloader - .borrow_mut() - .get(&filename, options.clone())?; + let mut response = self.http_downloader.borrow_mut().get(&filename, options)?; let mut json = response.get_body().unwrap_or("").to_string(); if let Some(sha256_val) = sha256 && sha256_val != hash("sha256", &json) @@ -3431,7 +3428,7 @@ impl RepositoryInterface for ComposerRepository { let name = strtolower(name); let constraint: AnyConstraint = match constraint { crate::repository::FindPackageConstraint::String(s) => { - self.version_parser.parse_constraints(&s)?.clone() + self.version_parser.parse_constraints(&s)? } crate::repository::FindPackageConstraint::Constraint(c) => c, }; @@ -3505,7 +3502,7 @@ impl RepositoryInterface for ComposerRepository { let constraint: Option = match constraint { None => None, Some(crate::repository::FindPackageConstraint::String(s)) => { - Some(self.version_parser.parse_constraints(&s)?.clone()) + Some(self.version_parser.parse_constraints(&s)?) } Some(crate::repository::FindPackageConstraint::Constraint(c)) => Some(c), }; diff --git a/crates/shirabe/src/repository/filesystem_repository.rs b/crates/shirabe/src/repository/filesystem_repository.rs index 32fbcfd7..d4b9b72e 100644 --- a/crates/shirabe/src/repository/filesystem_repository.rs +++ b/crates/shirabe/src/repository/filesystem_repository.rs @@ -460,7 +460,7 @@ impl FilesystemRepository { "root".to_string(), PhpMixed::Array( self.dump_root_package( - current_root.clone(), + current_root, install_paths, dev_mode, repo_dir, @@ -602,11 +602,7 @@ impl FilesystemRepository { // PHP: ($package->getSourceReference() ?: $package->getDistReference()) ?: null; let source = package.get_source_reference().unwrap_or_default(); let dist = package.get_dist_reference().unwrap_or_default(); - let combined = if !source.is_empty() { - source.to_string() - } else { - dist.to_string() - }; + let combined = if !source.is_empty() { source } else { dist }; reference = if combined.is_empty() { None } else { @@ -630,11 +626,11 @@ impl FilesystemRepository { let mut data: IndexMap = IndexMap::new(); data.insert( "pretty_version".to_string(), - PhpMixed::String(package.get_pretty_version().to_string()), + PhpMixed::String(package.get_pretty_version()), ); data.insert( "version".to_string(), - PhpMixed::String(package.get_version().to_string()), + PhpMixed::String(package.get_version()), ); data.insert( "reference".to_string(), @@ -643,10 +639,7 @@ impl FilesystemRepository { None => PhpMixed::Null, }, ); - data.insert( - "type".to_string(), - PhpMixed::String(package.get_type().to_string()), - ); + data.insert("type".to_string(), PhpMixed::String(package.get_type())); data.insert( "install_path".to_string(), match install_path { @@ -687,10 +680,7 @@ impl FilesystemRepository { ); let mut result: IndexMap = IndexMap::new(); - result.insert( - "name".to_string(), - PhpMixed::String(package.get_name().to_string()), - ); + result.insert("name".to_string(), PhpMixed::String(package.get_name())); result.insert( "pretty_version".to_string(), data.get("pretty_version") diff --git a/crates/shirabe/src/repository/installed_repository.rs b/crates/shirabe/src/repository/installed_repository.rs index 9ed8d4e3..388670d4 100644 --- a/crates/shirabe/src/repository/installed_repository.rs +++ b/crates/shirabe/src/repository/installed_repository.rs @@ -120,7 +120,7 @@ impl InstalledRepository { let mut root_package: Option = None; for package in self.inner.get_packages()? { if package.as_root().is_some() { - root_package = Some(package.clone()); + root_package = Some(package); break; } } diff --git a/crates/shirabe/src/repository/platform_repository.rs b/crates/shirabe/src/repository/platform_repository.rs index 2b198c88..e4d93d3b 100644 --- a/crates/shirabe/src/repository/platform_repository.rs +++ b/crates/shirabe/src/repository/platform_repository.rs @@ -298,11 +298,8 @@ impl PlatformRepository { }) .unwrap_or(PhpMixed::Bool(false)); if has_inet6 || !matches!(inet_pton_check, PhpMixed::Bool(false)) { - let mut php_ipv6 = CompletePackage::new( - "php-ipv6".to_string(), - version.clone(), - pretty_version.clone(), - ); + let mut php_ipv6 = + CompletePackage::new("php-ipv6".to_string(), version, pretty_version); php_ipv6.set_description("The PHP interpreter, with IPv6 support".to_string()); self.add_package(CompletePackageHandle::from_complete_package(php_ipv6).into())?; } @@ -1700,7 +1697,7 @@ impl PlatformRepository { Link::new( "ext-uuid".to_string(), "lib-uuid".to_string(), - SimpleConstraint::new("=".to_string(), version.to_string(), None).into(), + SimpleConstraint::new("=".to_string(), version, None).into(), Some(Link::TYPE_REPLACE.to_string()), ext.get_pretty_version().to_string(), ), diff --git a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs index 546dc72d..95d29938 100644 --- a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs +++ b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs @@ -363,7 +363,7 @@ impl GitBitbucketDriver { self.owner.clone(), self.repository.clone(), hash, - label.clone(), + label, )), ); } diff --git a/crates/shirabe/src/repository/vcs/git_driver.rs b/crates/shirabe/src/repository/vcs/git_driver.rs index 22691b0c..d3d489f2 100644 --- a/crates/shirabe/src/repository/vcs/git_driver.rs +++ b/crates/shirabe/src/repository/vcs/git_driver.rs @@ -438,7 +438,7 @@ impl GitDriver { )))); let mut git_util = GitUtil::new( io.clone(), - config.clone(), + config, process.clone(), std::rc::Rc::new(std::cell::RefCell::new(Filesystem::new(None))), ); diff --git a/crates/shirabe/src/repository/vcs/gitlab_driver.rs b/crates/shirabe/src/repository/vcs/gitlab_driver.rs index b1cfd004..8d100755 100644 --- a/crates/shirabe/src/repository/vcs/gitlab_driver.rs +++ b/crates/shirabe/src/repository/vcs/gitlab_driver.rs @@ -136,12 +136,8 @@ impl GitLabDriver { "https".to_string() }; let port = match_.get(&CaptureKey::ByName("port".to_string())).cloned(); - let origin = Self::determine_origin( - &configured_domains, - guessed_domain, - &mut url_parts, - port.clone(), - ); + let origin = + Self::determine_origin(&configured_domains, guessed_domain, &mut url_parts, port); let origin = match origin { Some(o) => o, None => { diff --git a/crates/shirabe/src/repository/vcs/svn_driver.rs b/crates/shirabe/src/repository/vcs/svn_driver.rs index ecf4a48a..3c233db8 100644 --- a/crates/shirabe/src/repository/vcs/svn_driver.rs +++ b/crates/shirabe/src/repository/vcs/svn_driver.rs @@ -268,7 +268,7 @@ impl SvnDriver { (identifier.clone(), String::new()) } } else { - (identifier.clone(), String::new()) + (identifier, String::new()) }; let output: String = match self.execute( @@ -308,7 +308,7 @@ impl SvnDriver { (identifier.clone(), String::new()) } } else { - (identifier.clone(), String::new()) + (identifier, String::new()) }; let output = self.execute( @@ -500,7 +500,7 @@ impl SvnDriver { "info".to_string(), "--non-interactive".to_string(), "--".to_string(), - url.clone(), + url, ], &mut ignored_output, None, diff --git a/crates/shirabe/src/self_update/versions.rs b/crates/shirabe/src/self_update/versions.rs index 3f8c2a8b..14ad10d8 100644 --- a/crates/shirabe/src/self_update/versions.rs +++ b/crates/shirabe/src/self_update/versions.rs @@ -97,7 +97,7 @@ impl Versions { let stored_channel = if Preg::is_match(php_regex!(r"{^\d+$}D"), &channel) { "stable".to_string() } else { - channel.clone() + channel }; let previously_stored: Option = if std::path::Path::new(&channel_file).exists() { diff --git a/crates/shirabe/src/util/config_validator.rs b/crates/shirabe/src/util/config_validator.rs index a9b89fd6..626c4db1 100644 --- a/crates/shirabe/src/util/config_validator.rs +++ b/crates/shirabe/src/util/config_validator.rs @@ -292,7 +292,7 @@ impl ConfigValidator { None, array_loader_validation_flags, ); - let mut manifest_for_load = manifest.clone(); + let mut manifest_for_load = manifest; if !manifest_for_load.contains_key("version") { manifest_for_load.insert("version".to_string(), PhpMixed::String("1.0.0".to_string())); } diff --git a/crates/shirabe/src/util/forgejo.rs b/crates/shirabe/src/util/forgejo.rs index 3a51be52..41d0dd3d 100644 --- a/crates/shirabe/src/util/forgejo.rs +++ b/crates/shirabe/src/util/forgejo.rs @@ -46,10 +46,8 @@ impl Forgejo { self.io.write_error3(&url, true, io_interface::NORMAL); let (local_auth_name, has_local_auth, auth_name): (String, bool, String) = { let cfg = self.config.borrow(); - let local = cfg - .get_local_auth_config_source() - .map(|s| s.get_name().to_string()); - let auth = cfg.get_auth_config_source().get_name().to_string(); + let local = cfg.get_local_auth_config_source().map(|s| s.get_name()); + let auth = cfg.get_auth_config_source().get_name(); (local.clone().unwrap_or_default(), local.is_some(), auth) }; let local_prefix = if has_local_auth { @@ -150,8 +148,8 @@ impl Forgejo { .remove_config_setting(&setting_key)?; } let value = shirabe_php_shim::PhpMixed::Array(indexmap::indexmap! { - "username".to_string() => username.clone().into(), - "token".to_string() => token.clone().into(), + "username".to_string() => username.into(), + "token".to_string() => token.into(), }); if store_in_local_auth_config && has_local_auth { let mut cfg = self.config.borrow_mut(); diff --git a/crates/shirabe/src/util/forgejo_url.rs b/crates/shirabe/src/util/forgejo_url.rs index 157ea53e..ce5a8948 100644 --- a/crates/shirabe/src/util/forgejo_url.rs +++ b/crates/shirabe/src/util/forgejo_url.rs @@ -65,7 +65,7 @@ impl ForgejoUrl { Some(Self::new( m[3].clone(), m[4].clone(), - origin_url.clone(), + origin_url, format!("https://{}/repos/{}/{}", api_base, m[3], m[4]), )) } diff --git a/crates/shirabe/src/util/git.rs b/crates/shirabe/src/util/git.rs index 6a6aaeb1..3e650fd1 100644 --- a/crates/shirabe/src/util/git.rs +++ b/crates/shirabe/src/util/git.rs @@ -243,7 +243,7 @@ impl Git { let m3 = m.get(&CaptureKey::ByIndex(3)).cloned().unwrap_or_default(); if !self.io.has_authentication(&m3) { self.io.borrow_mut().set_authentication( - m3.clone(), + m3, rawurldecode(&m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default()), Some(rawurldecode( &m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default(), @@ -701,7 +701,6 @@ impl Git { .ask( " Username: ".to_string(), default_username - .clone() .map(PhpMixed::String) .unwrap_or(PhpMixed::Null), ) diff --git a/crates/shirabe/src/util/github.rs b/crates/shirabe/src/util/github.rs index e6bac7ec..0afbb684 100644 --- a/crates/shirabe/src/util/github.rs +++ b/crates/shirabe/src/util/github.rs @@ -114,9 +114,8 @@ impl GitHub { let (local_name, auth_name): (Option, String) = { let cfg = self.config.borrow(); ( - cfg.get_local_auth_config_source() - .map(|c| c.get_name().to_string()), - cfg.get_auth_config_source().get_name().to_string(), + cfg.get_local_auth_config_source().map(|c| c.get_name()), + cfg.get_auth_config_source().get_name(), ) }; let prefix = local_name diff --git a/crates/shirabe/src/util/http/curl_downloader.rs b/crates/shirabe/src/util/http/curl_downloader.rs index 508aa56e..3b65b0f6 100644 --- a/crates/shirabe/src/util/http/curl_downloader.rs +++ b/crates/shirabe/src/util/http/curl_downloader.rs @@ -644,7 +644,7 @@ impl CurlDownloader { { if !parse_url(&location_header, shirabe_php_shim::PHP_URL_SCHEME).is_null() { // Absolute URL; e.g. https://example.com/composer - target_url = location_header.clone(); + target_url = location_header; } else if !parse_url(&location_header, shirabe_php_shim::PHP_URL_HOST).is_null() { // Scheme relative; e.g. //example.com/foo target_url = format!( diff --git a/crates/shirabe/src/util/http_downloader.rs b/crates/shirabe/src/util/http_downloader.rs index 0c91484d..2346c351 100644 --- a/crates/shirabe/src/util/http_downloader.rs +++ b/crates/shirabe/src/util/http_downloader.rs @@ -126,13 +126,7 @@ impl HttpDownloader { }; let rfs = Some(std::rc::Rc::new(std::cell::RefCell::new( - RemoteFilesystem::new( - io.clone(), - config.clone(), - options.clone(), - disable_tls, - None, - ), + RemoteFilesystem::new(io.clone(), config.clone(), options, disable_tls, None), ))); let mut max_jobs: i64 = 12; diff --git a/crates/shirabe/src/util/perforce.rs b/crates/shirabe/src/util/perforce.rs index e39ed3c2..fa448b35 100644 --- a/crates/shirabe/src/util/perforce.rs +++ b/crates/shirabe/src/util/perforce.rs @@ -294,7 +294,7 @@ impl Perforce { let field1 = fields.get(1).cloned().unwrap_or_default(); let index = strpos(&field1, " "); let value = match index { - None => field1.clone(), + None => field1, Some(idx) => substr(&field1, 0, Some(idx as i64)), }; let value = trim(&value, None); diff --git a/crates/shirabe/src/util/process_executor.rs b/crates/shirabe/src/util/process_executor.rs index 1f167840..738da143 100644 --- a/crates/shirabe/src/util/process_executor.rs +++ b/crates/shirabe/src/util/process_executor.rs @@ -231,7 +231,7 @@ impl ProcessExecutor { process = Process::from_shell_commandline( &command_str, cwd, - env.clone(), + env, PhpMixed::Null, Some(Self::get_timeout() as f64), )?; @@ -419,7 +419,7 @@ impl ProcessExecutor { }; let mut mock = self.mock.as_ref().unwrap().borrow_mut(); - mock.log.push(command_string.clone()); + mock.log.push(command_string); let matched = mock .expectations diff --git a/crates/shirabe/src/util/remote_filesystem.rs b/crates/shirabe/src/util/remote_filesystem.rs index 103a94a7..a244c9f9 100644 --- a/crates/shirabe/src/util/remote_filesystem.rs +++ b/crates/shirabe/src/util/remote_filesystem.rs @@ -284,7 +284,7 @@ impl RemoteFilesystem { } else { "Reading " }, - Url::sanitize(orig_file_url.clone()), + Url::sanitize(orig_file_url), using_proxy ), true, diff --git a/crates/shirabe/src/util/svn.rs b/crates/shirabe/src/util/svn.rs index f761ac05..67501e5a 100644 --- a/crates/shirabe/src/util/svn.rs +++ b/crates/shirabe/src/util/svn.rs @@ -168,7 +168,7 @@ impl Svn { let error_output = self.process.borrow().get_error_output().to_string(); let full_output = trim( - &implode("\n", &[output.clone().unwrap_or_default(), error_output]), + &implode("\n", &[output.unwrap_or_default(), error_output]), None, ); diff --git a/crates/shirabe/src/util/tls_helper.rs b/crates/shirabe/src/util/tls_helper.rs index 5121bd06..30d5f754 100644 --- a/crates/shirabe/src/util/tls_helper.rs +++ b/crates/shirabe/src/util/tls_helper.rs @@ -44,7 +44,7 @@ impl TlsHelper { if let Some(matcher) = matcher && matcher(&hostname) { - *cn = Some(names.cn.clone()); + *cn = Some(names.cn); return true; } diff --git a/crates/shirabe/src/util/url.rs b/crates/shirabe/src/util/url.rs index 77649308..621f6fab 100644 --- a/crates/shirabe/src/util/url.rs +++ b/crates/shirabe/src/util/url.rs @@ -103,11 +103,7 @@ impl Url { &format!("$1/{}", r#ref), &url, ); - } else if in_array( - PhpMixed::String(host.clone()), - &config.get("gitlab-domains"), - true, - ) { + } else if in_array(PhpMixed::String(host), &config.get("gitlab-domains"), true) { url = Preg::replace( php_regex!( r"{(/api/v[34]/projects/[^/]+/repository/archive\.(?:zip|tar\.gz|tar\.bz2|tar)\?sha=).+$}i" diff --git a/crates/shirabe/tests/advisory/auditor_test.rs b/crates/shirabe/tests/advisory/auditor_test.rs index 2b86718b..5e6a3ba8 100644 --- a/crates/shirabe/tests/advisory/auditor_test.rs +++ b/crates/shirabe/tests/advisory/auditor_test.rs @@ -988,7 +988,7 @@ fn test_audit_with_ignore_unreachable() { .audit( &io, &repo_set, - packages.clone(), + packages, Auditor::FORMAT_JSON, false, IndexMap::new(), diff --git a/crates/shirabe/tests/command/remove_command_test.rs b/crates/shirabe/tests/command/remove_command_test.rs index 252496ea..52e27829 100644 --- a/crates/shirabe/tests/command/remove_command_test.rs +++ b/crates/shirabe/tests/command/remove_command_test.rs @@ -230,8 +230,7 @@ fn test_message_output_when_no_unused_packages_to_remove() { required_package.__set_requires(requires); let nested_package = get_package("nested/req", "1.1.0"); - let packages: Vec = - vec![required_package.clone(), nested_package.clone()]; + let packages: Vec = vec![required_package, nested_package]; create_installed_json(&packages, &[], true); create_composer_lock(&packages, &[]); @@ -281,7 +280,7 @@ fn test_remove_unused_package() { let extraneous_package = get_package("not/req", "1.0.0"); create_installed_json(std::slice::from_ref(&required_package), &[], true); - create_composer_lock(&[required_package.clone(), extraneous_package.clone()], &[]); + create_composer_lock(&[required_package, extraneous_package], &[]); let mut app_tester = get_application_tester(); let status_code = app_tester @@ -348,8 +347,7 @@ fn test_remove_package_by_name() { root_req_package.__set_type("metapackage".to_string()); root_another_package.__set_type("metapackage".to_string()); - let packages: Vec = - vec![root_req_package.clone(), root_another_package.clone()]; + let packages: Vec = vec![root_req_package, root_another_package]; create_installed_json(&packages, &[], true); create_composer_lock(&packages, &[]); @@ -430,8 +428,7 @@ fn test_remove_package_by_name_with_dry_run() { root_req_package.__set_type("metapackage".to_string()); root_another_package.__set_type("metapackage".to_string()); - let packages: Vec = - vec![root_req_package.clone(), root_another_package.clone()]; + let packages: Vec = vec![root_req_package, root_another_package]; create_installed_json(&packages, &[], true); create_composer_lock(&packages, &[]); @@ -517,8 +514,7 @@ fn test_remove_allowed_plugin_package_with_no_other_allowed_plugins() { root_req_package.__set_type("metapackage".to_string()); root_another_package.__set_type("metapackage".to_string()); - let packages: Vec = - vec![root_req_package.clone(), root_another_package.clone()]; + let packages: Vec = vec![root_req_package, root_another_package]; create_installed_json(&packages, &[], true); create_composer_lock(&packages, &[]); @@ -624,11 +620,8 @@ fn test_remove_packages_by_vendor() { let root_another_package = get_package("root/another", "1.0.0"); let another_req_package = get_package("another/req", "1.0.0"); - let packages: Vec = vec![ - root_req_package.clone(), - root_another_package.clone(), - another_req_package.clone(), - ]; + let packages: Vec = + vec![root_req_package, root_another_package, another_req_package]; create_installed_json(&packages, &[], true); create_composer_lock(&packages, &[]); @@ -707,11 +700,8 @@ fn test_remove_packages_by_vendor_with_dry_run() { let root_another_package = get_package("root/another", "1.0.0"); let another_req_package = get_package("another/req", "1.0.0"); - let packages: Vec = vec![ - root_req_package.clone(), - root_another_package.clone(), - another_req_package.clone(), - ]; + let packages: Vec = + vec![root_req_package, root_another_package, another_req_package]; create_installed_json(&packages, &[], true); create_composer_lock(&packages, &[]); diff --git a/crates/shirabe/tests/command/suggests_command_test.rs b/crates/shirabe/tests/command/suggests_command_test.rs index e6732dc8..dd793c40 100644 --- a/crates/shirabe/tests/command/suggests_command_test.rs +++ b/crates/shirabe/tests/command/suggests_command_test.rs @@ -221,7 +221,7 @@ fn test_suggest() { let by_suggestion = ("--by-suggestion", t.clone()); let no_dev = ("--no-dev", t.clone()); let all = ("--all", t.clone()); - let list = ("--list", t.clone()); + let list = ("--list", t); // 'with lockfile, show suggested' / 'without lockfile, show suggested' let basic = "vendor1/package1 suggests: diff --git a/crates/shirabe/tests/config_test.rs b/crates/shirabe/tests/config_test.rs index 918da8c2..3831e283 100644 --- a/crates/shirabe/tests/config_test.rs +++ b/crates/shirabe/tests/config_test.rs @@ -506,7 +506,7 @@ fn test_prohibited_urls_warning_verify_peer() { .unwrap(); let mut config = Config::new(false, None); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; let mut repo_options: IndexMap = IndexMap::new(); repo_options.insert( "ssl".to_string(), diff --git a/crates/shirabe/tests/dependency_resolver/default_policy_test.rs b/crates/shirabe/tests/dependency_resolver/default_policy_test.rs index 2717954c..44724b33 100644 --- a/crates/shirabe/tests/dependency_resolver/default_policy_test.rs +++ b/crates/shirabe/tests/dependency_resolver/default_policy_test.rs @@ -505,10 +505,7 @@ fn test_select_local_repos_first() { package_a_alias_important.set_root_package_alias(true); fixtures.repo.add_package(package_a).unwrap(); - fixtures - .repo - .add_package(package_a_alias.clone().into()) - .unwrap(); + fixtures.repo.add_package(package_a_alias.into()).unwrap(); repo_important.add_package(package_a_important).unwrap(); repo_important .add_package(package_a_alias_important.clone().into()) diff --git a/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs b/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs index 9b82908d..40ae115d 100644 --- a/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs +++ b/crates/shirabe/tests/dependency_resolver/pool_builder_test.rs @@ -539,7 +539,7 @@ fn run_test_pool_builder( } } - let mut request = Request::new(Some(locked_repo.clone())); + let mut request = Request::new(Some(locked_repo)); for (package, constraint) in request_map["require"].as_array().unwrap() { request .require_name( diff --git a/crates/shirabe/tests/dependency_resolver/security_advisory_pool_filter_test.rs b/crates/shirabe/tests/dependency_resolver/security_advisory_pool_filter_test.rs index 15eace79..37403b19 100644 --- a/crates/shirabe/tests/dependency_resolver/security_advisory_pool_filter_test.rs +++ b/crates/shirabe/tests/dependency_resolver/security_advisory_pool_filter_test.rs @@ -75,7 +75,7 @@ fn test_filter_packages_by_advisories() { let pool = Pool::new( vec![ - package.clone(), + package, expected_package1.clone(), expected_package2.clone(), ], @@ -323,7 +323,7 @@ fn test_dont_filter_packages_with_abandoned_package() { let pool = Pool::new( vec![ expected_package.clone(), - abandoned_package.clone(), + abandoned_package, ignore_abandoned_package.clone(), ], vec![], diff --git a/crates/shirabe/tests/dependency_resolver/solver_test.rs b/crates/shirabe/tests/dependency_resolver/solver_test.rs index be8df4db..4a449c7f 100644 --- a/crates/shirabe/tests/dependency_resolver/solver_test.rs +++ b/crates/shirabe/tests/dependency_resolver/solver_test.rs @@ -329,7 +329,7 @@ fn test_solver_install_same_package_from_different_repositories() { let foo1 = get_package("foo", "1"); let foo2 = get_package("foo", "1"); repo1.add_package(foo1.clone()).unwrap(); - repo2.add_package(foo2.clone()).unwrap(); + repo2.add_package(foo2).unwrap(); repo_set .add_repository(RepositoryInterfaceHandle::new(repo1)) @@ -362,7 +362,7 @@ fn test_solver_install_with_deps() { let package_b = get_package("B", "1.0"); fixtures.repo.add_package(package_b.clone()).unwrap(); let new_package_b = get_package("B", "1.1"); - fixtures.repo.add_package(new_package_b.clone()).unwrap(); + fixtures.repo.add_package(new_package_b).unwrap(); package_a .as_complete_package() @@ -404,13 +404,13 @@ fn test_solver_install_honours_not_equal_operator() { let package_a = get_package("A", "1.0"); fixtures.repo.add_package(package_a.clone()).unwrap(); let package_b = get_package("B", "1.0"); - fixtures.repo.add_package(package_b.clone()).unwrap(); + fixtures.repo.add_package(package_b).unwrap(); let new_package_b11 = get_package("B", "1.1"); fixtures.repo.add_package(new_package_b11.clone()).unwrap(); let new_package_b12 = get_package("B", "1.2"); - fixtures.repo.add_package(new_package_b12.clone()).unwrap(); + fixtures.repo.add_package(new_package_b12).unwrap(); let new_package_b13 = get_package("B", "1.3"); - fixtures.repo.add_package(new_package_b13.clone()).unwrap(); + fixtures.repo.add_package(new_package_b13).unwrap(); package_a .as_complete_package() @@ -585,7 +585,7 @@ fn test_solver_multi_package_name_version_resolution_depends_on_require_order() vec![ ExpectedJob::Single { job: "install", - package: php80.clone(), + package: php80, }, ExpectedJob::Single { job: "install", @@ -595,7 +595,7 @@ fn test_solver_multi_package_name_version_resolution_depends_on_require_order() ); // now we flip the requirements around: we request "ext-foobar" before "php" - let mut request = Request::new(Some(fixtures.repo_locked.clone())); + let mut request = Request::new(Some(fixtures.repo_locked)); request.require_name("ourcustom/ext-foobar", None).unwrap(); request.require_name("ourcustom/PHP", None).unwrap(); @@ -620,7 +620,7 @@ fn test_solver_multi_package_name_version_resolution_is_independent_of_require_o { let fixtures = set_up(); let php74 = get_package("ourcustom/PHP", "7.4"); - fixtures.repo.add_package(php74.clone()).unwrap(); + fixtures.repo.add_package(php74).unwrap(); let php80 = get_package("ourcustom/PHP", "8.0"); fixtures.repo.add_package(php80.clone()).unwrap(); // note we are inserting this one into the repo first, unlike in the previous test @@ -689,7 +689,7 @@ fn test_solver_multi_package_name_version_resolution_is_independent_of_require_o ); // unlike in the previous test, the order of requirements no longer matters now - let mut request = Request::new(Some(fixtures.repo_locked.clone())); + let mut request = Request::new(Some(fixtures.repo_locked)); request.require_name("ourcustom/ext-foobar", None).unwrap(); request.require_name("ourcustom/PHP", None).unwrap(); @@ -716,7 +716,7 @@ fn test_solver_fix_locked() { fixtures.repo_locked.add_package(package_a.clone()).unwrap(); let mut request = fixtures.request; - request.fix_package(package_a.clone()); + request.fix_package(package_a); check_solver_result( fixtures.repo_set, @@ -735,7 +735,7 @@ fn test_solver_fix_locked_with_alternative() { fixtures.repo_locked.add_package(package_a.clone()).unwrap(); let mut request = fixtures.request; - request.fix_package(package_a.clone()); + request.fix_package(package_a); check_solver_result( fixtures.repo_set, @@ -770,7 +770,7 @@ fn test_solver_update_does_only_update() { )])); let mut request = fixtures.request; - request.fix_package(package_a.clone()); + request.fix_package(package_a); request .require_name("B", Some(get_version_constraint("=", "1.1.0.0"))) .unwrap(); @@ -899,11 +899,11 @@ fn test_solver_update_only_updates_selected_package() { let package_a_newer = get_package("A", "1.1"); fixtures.repo.add_package(package_a_newer.clone()).unwrap(); let package_b_newer = get_package("B", "1.1"); - fixtures.repo.add_package(package_b_newer.clone()).unwrap(); + fixtures.repo.add_package(package_b_newer).unwrap(); let mut request = fixtures.request; request.require_name("A", None).unwrap(); - request.fix_package(package_b.clone()); + request.fix_package(package_b); check_solver_result( fixtures.repo_set, @@ -1019,7 +1019,7 @@ fn test_solver_all_jobs() { let package_b = get_package("B", "1.0"); fixtures.repo.add_package(package_b.clone()).unwrap(); let new_package_b = get_package("B", "1.1"); - fixtures.repo.add_package(new_package_b.clone()).unwrap(); + fixtures.repo.add_package(new_package_b).unwrap(); let package_c = get_package("C", "1.1"); fixtures.repo.add_package(package_c.clone()).unwrap(); fixtures.repo.add_package(get_package("D", "1.0")).unwrap(); @@ -1074,9 +1074,9 @@ fn test_solver_three_alternative_require_and_conflict() { let middle_package_b = get_package("B", "1.0"); fixtures.repo.add_package(middle_package_b.clone()).unwrap(); let new_package_b = get_package("B", "1.1"); - fixtures.repo.add_package(new_package_b.clone()).unwrap(); + fixtures.repo.add_package(new_package_b).unwrap(); let old_package_b = get_package("B", "0.9"); - fixtures.repo.add_package(old_package_b.clone()).unwrap(); + fixtures.repo.add_package(old_package_b).unwrap(); package_a .as_complete_package() .unwrap() @@ -1170,7 +1170,7 @@ fn test_install_one_of_two_alternatives() { let package_a = get_package("A", "1.0"); fixtures.repo.add_package(package_a.clone()).unwrap(); let package_b = get_package("A", "1.0"); - fixtures.repo.add_package(package_b.clone()).unwrap(); + fixtures.repo.add_package(package_b).unwrap(); let mut request = fixtures.request; request.require_name("A", None).unwrap(); @@ -1337,7 +1337,7 @@ fn test_skip_replaced_package_if_replacer_is_selected() { let package_q = get_package("Q", "1.0"); fixtures.repo.add_package(package_q.clone()).unwrap(); let package_b = get_package("B", "1.0"); - fixtures.repo.add_package(package_b.clone()).unwrap(); + fixtures.repo.add_package(package_b).unwrap(); package_a .as_complete_package() .unwrap() @@ -1509,7 +1509,7 @@ fn test_install_circular_require() { let package_a = get_package("A", "1.0"); fixtures.repo.add_package(package_a.clone()).unwrap(); let package_b1 = get_package("B", "0.9"); - fixtures.repo.add_package(package_b1.clone()).unwrap(); + fixtures.repo.add_package(package_b1).unwrap(); let package_b2 = get_package("B", "1.1"); fixtures.repo.add_package(package_b2.clone()).unwrap(); package_a @@ -1675,7 +1675,7 @@ fn test_use_replacer_if_necessary() { let package_a = get_package("A", "1.0"); fixtures.repo.add_package(package_a.clone()).unwrap(); let package_b = get_package("B", "1.0"); - fixtures.repo.add_package(package_b.clone()).unwrap(); + fixtures.repo.add_package(package_b).unwrap(); let package_d = get_package("D", "1.0"); fixtures.repo.add_package(package_d.clone()).unwrap(); let package_d2 = get_package("D", "1.1"); @@ -1779,11 +1779,11 @@ fn test_use_replacer_if_necessary() { fn test_issue265() { let fixtures = set_up(); let package_a1 = get_package("A", "2.0.999999-dev"); - fixtures.repo.add_package(package_a1.clone()).unwrap(); + fixtures.repo.add_package(package_a1).unwrap(); let package_a2 = get_package("A", "2.1-dev"); - fixtures.repo.add_package(package_a2.clone()).unwrap(); + fixtures.repo.add_package(package_a2).unwrap(); let package_a3 = get_package("A", "2.2-dev"); - fixtures.repo.add_package(package_a3.clone()).unwrap(); + fixtures.repo.add_package(package_a3).unwrap(); let package_b1 = get_package("B", "2.0.10"); fixtures.repo.add_package(package_b1.clone()).unwrap(); let package_b2 = get_package("B", "2.0.9"); @@ -1898,7 +1898,7 @@ fn test_conflict_result_empty() { let package_a = get_package("A", "1.0"); fixtures.repo.add_package(package_a.clone()).unwrap(); let package_b = get_package("B", "1.0"); - fixtures.repo.add_package(package_b.clone()).unwrap(); + fixtures.repo.add_package(package_b).unwrap(); package_a .as_complete_package() .unwrap() @@ -1955,7 +1955,7 @@ fn test_unsatisfiable_requires() { let package_a = get_package("A", "1.0"); fixtures.repo.add_package(package_a.clone()).unwrap(); let package_b = get_package("B", "1.0"); - fixtures.repo.add_package(package_b.clone()).unwrap(); + fixtures.repo.add_package(package_b).unwrap(); package_a .as_complete_package() @@ -2093,11 +2093,11 @@ fn test_require_mismatch_exception() { fn test_learn_literals_with_sorted_rule_literals() { let fixtures = set_up(); let package_twig2 = get_package("twig/twig", "2.0"); - fixtures.repo.add_package(package_twig2.clone()).unwrap(); + fixtures.repo.add_package(package_twig2).unwrap(); let package_twig16 = get_package("twig/twig", "1.6"); fixtures.repo.add_package(package_twig16.clone()).unwrap(); let package_twig15 = get_package("twig/twig", "1.5"); - fixtures.repo.add_package(package_twig15.clone()).unwrap(); + fixtures.repo.add_package(package_twig15).unwrap(); let package_symfony = get_package("symfony/symfony", "2.0"); fixtures.repo.add_package(package_symfony.clone()).unwrap(); let package_twig_bridge = get_package("symfony/twig-bridge", "2.0"); @@ -2158,7 +2158,7 @@ fn test_learn_literals_with_sorted_rule_literals() { fn test_install_recursive_alias_dependencies() { let fixtures = set_up(); let package_a = get_package("A", "1.0"); - fixtures.repo.add_package(package_a.clone()).unwrap(); + fixtures.repo.add_package(package_a).unwrap(); let package_b = get_package("B", "2.0"); fixtures.repo.add_package(package_b.clone()).unwrap(); let package_a2 = get_package("A", "2.0"); @@ -2363,13 +2363,13 @@ fn test_learn_positive_literal() { let package_f1 = get_package("F", "1.0"); fixtures.repo.add_package(package_f1.clone()).unwrap(); let package_f2 = get_package("F", "2.0"); - fixtures.repo.add_package(package_f2.clone()).unwrap(); + fixtures.repo.add_package(package_f2).unwrap(); let package_g1 = get_package("G", "1.0"); - fixtures.repo.add_package(package_g1.clone()).unwrap(); + fixtures.repo.add_package(package_g1).unwrap(); let package_g2 = get_package("G", "2.0"); fixtures.repo.add_package(package_g2.clone()).unwrap(); let package_g3 = get_package("G", "3.0"); - fixtures.repo.add_package(package_g3.clone()).unwrap(); + fixtures.repo.add_package(package_g3).unwrap(); package_a .as_complete_package() diff --git a/crates/shirabe/tests/dependency_resolver/transaction_test.rs b/crates/shirabe/tests/dependency_resolver/transaction_test.rs index 3b1006ea..b6c28cc3 100644 --- a/crates/shirabe/tests/dependency_resolver/transaction_test.rs +++ b/crates/shirabe/tests/dependency_resolver/transaction_test.rs @@ -110,8 +110,8 @@ fn test_transaction_generation_and_sorting() { let dl_modifying_plugin2_dep = get_package("x/downloads-modifying2-dep", "1.0.0"); let dl_modifying_plugin2 = get_package("x/downloads-modifying2", "1.0.0"); let result_packages = vec![ - package_a.clone(), - package_a_alias.clone(), + package_a, + package_a_alias, package_b_new.clone(), package_d.clone(), package_f.clone(), @@ -216,67 +216,67 @@ fn test_transaction_generation_and_sorting() { let expected_operations = vec![ OperationEntry::Job { job: "uninstall".to_string(), - package: package_c.clone(), + package: package_c, }, OperationEntry::Job { job: "uninstall".to_string(), - package: package_e.clone(), + package: package_e, }, OperationEntry::Job { job: "markAliasUninstalled".to_string(), - package: package_e_alias.clone(), + package: package_e_alias, }, OperationEntry::Job { job: "install".to_string(), - package: dl_modifying_plugin.clone(), + package: dl_modifying_plugin, }, OperationEntry::Job { job: "install".to_string(), - package: dl_modifying_plugin2_dep.clone(), + package: dl_modifying_plugin2_dep, }, OperationEntry::Job { job: "install".to_string(), - package: dl_modifying_plugin2.clone(), + package: dl_modifying_plugin2, }, OperationEntry::Job { job: "install".to_string(), - package: plugin.clone(), + package: plugin, }, OperationEntry::Job { job: "install".to_string(), - package: plugin2_dep.clone(), + package: plugin2_dep, }, OperationEntry::Job { job: "install".to_string(), - package: plugin2.clone(), + package: plugin2, }, OperationEntry::Job { job: "install".to_string(), - package: package_a0_first.clone(), + package: package_a0_first, }, OperationEntry::Update { - from: package_b.clone(), - to: package_b_new.clone(), + from: package_b, + to: package_b_new, }, OperationEntry::Job { job: "install".to_string(), - package: package_g.clone(), + package: package_g, }, OperationEntry::Job { job: "install".to_string(), - package: package_f.clone(), + package: package_f, }, OperationEntry::Job { job: "markAliasInstalled".to_string(), - package: package_f_alias2.clone(), + package: package_f_alias2, }, OperationEntry::Job { job: "markAliasInstalled".to_string(), - package: package_f_alias1.clone(), + package: package_f_alias1, }, OperationEntry::Job { job: "install".to_string(), - package: package_d.clone(), + package: package_d, }, ]; diff --git a/crates/shirabe/tests/downloader/file_downloader_test.rs b/crates/shirabe/tests/downloader/file_downloader_test.rs index 623ac34c..65dc1a51 100644 --- a/crates/shirabe/tests/downloader/file_downloader_test.rs +++ b/crates/shirabe/tests/downloader/file_downloader_test.rs @@ -348,7 +348,7 @@ fn test_downgrade_shows_appropriate_message() { }, ); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; let downloader = FileDownloader::new( io, config, diff --git a/crates/shirabe/tests/downloader/git_downloader_test.rs b/crates/shirabe/tests/downloader/git_downloader_test.rs index 748dfb14..65907567 100644 --- a/crates/shirabe/tests/downloader/git_downloader_test.rs +++ b/crates/shirabe/tests/downloader/git_downloader_test.rs @@ -986,7 +986,7 @@ fn test_downgrade_shows_appropriate_message() { .borrow_mut() .expects(vec![Expectation::text_regex("{Downgrading .*}")], false) .unwrap(); - let io = io_mock.clone() as std::rc::Rc>; + let io = io_mock as std::rc::Rc>; let mut fs = Filesystem::new(None); fs.ensure_directory_exists(&format!("{}/.git", working_dir.path().to_string_lossy())) @@ -1064,7 +1064,7 @@ fn test_not_using_downgrading_with_references() { .borrow_mut() .expects(vec![Expectation::text_regex("{Upgrading .*}")], false) .unwrap(); - let io = io_mock.clone() as std::rc::Rc>; + let io = io_mock as std::rc::Rc>; let mut fs = Filesystem::new(None); fs.ensure_directory_exists(&format!("{}/.git", working_dir.path().to_string_lossy())) diff --git a/crates/shirabe/tests/downloader/perforce_downloader_test.rs b/crates/shirabe/tests/downloader/perforce_downloader_test.rs index c657e244..b1250906 100644 --- a/crates/shirabe/tests/downloader/perforce_downloader_test.rs +++ b/crates/shirabe/tests/downloader/perforce_downloader_test.rs @@ -141,7 +141,7 @@ fn do_install_workflow(source_ref: &'static str, expected_label: Option) false, ) .unwrap(); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; let config = std::rc::Rc::new(std::cell::RefCell::new(get_config(test_path.path()))); let (process, _process_guard) = get_process_executor_mock(vec![], false, MockHandler::default()); diff --git a/crates/shirabe/tests/downloader/zip_downloader_test.rs b/crates/shirabe/tests/downloader/zip_downloader_test.rs index 8ec440d8..86f9968f 100644 --- a/crates/shirabe/tests/downloader/zip_downloader_test.rs +++ b/crates/shirabe/tests/downloader/zip_downloader_test.rs @@ -206,7 +206,7 @@ fn test_zip_archive_only_failed() { downloader.__set_zip_archive_object(Some(zip_archive)); let filename = set_up.filename.to_string_lossy().into_owned(); - let result = run(downloader.extract(set_up.package.clone(), &filename, "vendor/dir")); + let result = run(downloader.extract(set_up.package, &filename, "vendor/dir")); let e = result.expect_err("expected RuntimeException"); assert!( @@ -232,7 +232,7 @@ fn test_zip_archive_extract_only_failed() { downloader.__set_zip_archive_object(Some(zip_archive)); let filename = set_up.filename.to_string_lossy().into_owned(); - let result = run(downloader.extract(set_up.package.clone(), &filename, "vendor/dir")); + let result = run(downloader.extract(set_up.package, &filename, "vendor/dir")); let e = result.expect_err("expected RuntimeException"); assert!( @@ -260,7 +260,7 @@ fn test_zip_archive_only_good() { downloader.__set_zip_archive_object(Some(zip_archive)); let filename = set_up.filename.to_string_lossy().into_owned(); - let result = run(downloader.extract(set_up.package.clone(), &filename, "vendor/dir")); + let result = run(downloader.extract(set_up.package, &filename, "vendor/dir")); result.expect("extract should succeed"); } @@ -298,7 +298,7 @@ fn test_system_unzip_only_failed() { let downloader = make_downloader_with_process(&set_up, process); let filename = set_up.filename.to_string_lossy().into_owned(); - let result = run(downloader.extract(set_up.package.clone(), &filename, "vendor/dir")); + let result = run(downloader.extract(set_up.package, &filename, "vendor/dir")); let e = result.expect_err("expected RuntimeException"); assert!( @@ -331,7 +331,7 @@ fn test_system_unzip_only_good() { let downloader = make_downloader_with_process(&set_up, process); let filename = set_up.filename.to_string_lossy().into_owned(); - let result = run(downloader.extract(set_up.package.clone(), &filename, "vendor/dir")); + let result = run(downloader.extract(set_up.package, &filename, "vendor/dir")); result.expect("extract should succeed"); } @@ -365,7 +365,7 @@ fn test_non_windows_fallback_good() { downloader.__set_zip_archive_object(Some(zip_archive)); let filename = set_up.filename.to_string_lossy().into_owned(); - let result = run(downloader.extract(set_up.package.clone(), &filename, "vendor/dir")); + let result = run(downloader.extract(set_up.package, &filename, "vendor/dir")); result.expect("extract should succeed"); } @@ -399,7 +399,7 @@ fn test_non_windows_fallback_failed() { downloader.__set_zip_archive_object(Some(zip_archive)); let filename = set_up.filename.to_string_lossy().into_owned(); - let result = run(downloader.extract(set_up.package.clone(), &filename, "vendor/dir")); + let result = run(downloader.extract(set_up.package, &filename, "vendor/dir")); let e = result.expect_err("expected RuntimeException"); assert!( diff --git a/crates/shirabe/tests/factory_test.rs b/crates/shirabe/tests/factory_test.rs index be32dac3..3e70a7d9 100644 --- a/crates/shirabe/tests/factory_test.rs +++ b/crates/shirabe/tests/factory_test.rs @@ -48,7 +48,7 @@ fn test_default_values_are_as_expected() { .with("disable-tls", PhpMixed::Bool(true)) .build_shared(); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; Factory::create_http_downloader(io, &config, IndexMap::new()).unwrap(); } diff --git a/crates/shirabe/tests/installer/installation_manager_test.rs b/crates/shirabe/tests/installer/installation_manager_test.rs index 867e759a..3f18e925 100644 --- a/crates/shirabe/tests/installer/installation_manager_test.rs +++ b/crates/shirabe/tests/installer/installation_manager_test.rs @@ -358,7 +358,7 @@ fn test_install() { shirabe::installer::InstallationManager::new(set_up.loop_.clone(), set_up.io.clone(), None); manager.add_installer(Box::new(installer)); - let operation = InstallOperation::new(package.clone()); + let operation = InstallOperation::new(package); let mut repository = InstalledArrayRepository::new().unwrap(); run(manager.install( @@ -393,7 +393,7 @@ fn test_update_with_equal_types() { shirabe::installer::InstallationManager::new(set_up.loop_.clone(), set_up.io.clone(), None); manager.add_installer(Box::new(installer)); - let operation = UpdateOperation::new(initial.clone(), target.clone()); + let operation = UpdateOperation::new(initial, target); let mut repository = InstalledArrayRepository::new().unwrap(); run(manager.update( @@ -438,7 +438,7 @@ fn test_update_with_not_equal_types() { manager.add_installer(Box::new(lib_installer)); manager.add_installer(Box::new(bundle_installer)); - let operation = UpdateOperation::new(initial.clone(), target.clone()); + let operation = UpdateOperation::new(initial, target); let mut repository = InstalledArrayRepository::new().unwrap(); run(manager.update( @@ -469,7 +469,7 @@ fn test_uninstall() { shirabe::installer::InstallationManager::new(set_up.loop_.clone(), set_up.io.clone(), None); manager.add_installer(Box::new(installer)); - let operation = UninstallOperation::new(package.clone()); + let operation = UninstallOperation::new(package); let mut repository = InstalledArrayRepository::new().unwrap(); run(manager.uninstall( diff --git a/crates/shirabe/tests/installer/library_installer_test.rs b/crates/shirabe/tests/installer/library_installer_test.rs index f9dceb56..8a063941 100644 --- a/crates/shirabe/tests/installer/library_installer_test.rs +++ b/crates/shirabe/tests/installer/library_installer_test.rs @@ -446,7 +446,7 @@ fn test_ensure_binaries_installed() { binary_installer.expect_remove_binaries().times(0); // PHP asserts installBinaries is called once with ($package, getInstallPath, false). let expected_package = package.clone(); - let expected_install_path = expected_path.clone(); + let expected_install_path = expected_path; binary_installer .expect_install_binaries() .times(1) @@ -458,7 +458,7 @@ fn test_ensure_binaries_installed() { .returning(|_, _, _| ()); library.__set_binary_installer(std::rc::Rc::new(std::cell::RefCell::new(binary_installer))); - library.ensure_binaries_presence(package.clone()); + library.ensure_binaries_presence(package); tear_down(&mut setup); } diff --git a/crates/shirabe/tests/installer_test.rs b/crates/shirabe/tests/installer_test.rs index 313ad215..b81ec7a4 100644 --- a/crates/shirabe/tests/installer_test.rs +++ b/crates/shirabe/tests/installer_test.rs @@ -1025,7 +1025,7 @@ fn do_test_integration(case: &IntegrationCase, expect_output: Option<&str>) { })); } application - .add(install.clone() as std::rc::Rc>) + .add(install as std::rc::Rc>) .unwrap(); let update = std::rc::Rc::new(std::cell::RefCell::new(CommandData::new(Some( @@ -1066,7 +1066,7 @@ fn do_test_integration(case: &IntegrationCase, expect_output: Option<&str>) { PhpMixed::Null, ) .unwrap(); - let installer_cl = installer.clone(); + let installer_cl = installer; let composer_cl = composer.clone(); let run_result_cl = run_result.clone(); update_ref.set_code(Box::new(move |input, _output| { @@ -1128,7 +1128,7 @@ fn do_test_integration(case: &IntegrationCase, expect_output: Option<&str>) { })); } application - .add(update.clone() as std::rc::Rc>) + .add(update as std::rc::Rc>) .unwrap(); assert!( diff --git a/crates/shirabe/tests/json/json_file_test.rs b/crates/shirabe/tests/json/json_file_test.rs index 14cb1e68..195c6918 100644 --- a/crates/shirabe/tests/json/json_file_test.rs +++ b/crates/shirabe/tests/json/json_file_test.rs @@ -402,7 +402,7 @@ fn test_custom_schema_validation_lax() { ) .unwrap(); - let json = JsonFile::new(file.clone(), None, None).unwrap(); + let json = JsonFile::new(file, None, None).unwrap(); json.validate_schema(JsonFile::LAX_SCHEMA, Some(&schema)) .unwrap(); @@ -422,7 +422,7 @@ fn test_custom_schema_validation_strict() { ) .unwrap(); - let json = JsonFile::new(file.clone(), None, None).unwrap(); + let json = JsonFile::new(file, None, None).unwrap(); json.validate_schema(JsonFile::STRICT_SCHEMA, Some(&schema)) .unwrap(); diff --git a/crates/shirabe/tests/package/archiver/archive_manager_test.rs b/crates/shirabe/tests/package/archiver/archive_manager_test.rs index 4f28b468..d85fac10 100644 --- a/crates/shirabe/tests/package/archiver/archive_manager_test.rs +++ b/crates/shirabe/tests/package/archiver/archive_manager_test.rs @@ -55,9 +55,9 @@ impl TestCase { "git", std::rc::Rc::new(std::cell::RefCell::new(GitDownloader::new( io.clone(), - config.clone(), - Some(process.clone()), - Some(fs.clone()), + config, + Some(process), + Some(fs), ))), ); let dm = std::rc::Rc::new(std::cell::RefCell::new(dm)); diff --git a/crates/shirabe/tests/package/loader/root_package_loader_test.rs b/crates/shirabe/tests/package/loader/root_package_loader_test.rs index 248c4e6a..51ca415f 100644 --- a/crates/shirabe/tests/package/loader/root_package_loader_test.rs +++ b/crates/shirabe/tests/package/loader/root_package_loader_test.rs @@ -123,8 +123,7 @@ fn test_stability_flags_parsing() { Some(io.clone()), ); - let mut loader = - RootPackageLoader::new(manager, config.clone(), None, Some(Box::new(guesser)), None); + let mut loader = RootPackageLoader::new(manager, config, None, Some(Box::new(guesser)), None); let mut data = IndexMap::new(); data.insert( @@ -209,8 +208,7 @@ fn test_no_version_is_visible_in_pretty_version() { ); let guesser = VersionGuesser::new(config.clone(), process, VersionParser::new(), None); - let mut loader = - RootPackageLoader::new(manager, config.clone(), None, Some(Box::new(guesser)), None); + let mut loader = RootPackageLoader::new(manager, config, None, Some(Box::new(guesser)), None); let package = loader .load(IndexMap::new(), "Composer\\Package\\RootPackage", None) @@ -246,13 +244,8 @@ fn test_pretty_version_for_root_package_in_version_branch() { })) }); - let mut loader = RootPackageLoader::new( - manager, - config.clone(), - None, - Some(Box::new(version_guesser)), - None, - ); + let mut loader = + RootPackageLoader::new(manager, config, None, Some(Box::new(version_guesser)), None); let package = loader .load(IndexMap::new(), "Composer\\Package\\RootPackage", None) @@ -284,8 +277,7 @@ fn test_feature_branch_pretty_version() { let (process, _guard) = get_process_executor_mock(expectations, true, MockHandler::default()); let guesser = VersionGuesser::new(config.clone(), process, VersionParser::new(), None); - let mut loader = - RootPackageLoader::new(manager, config.clone(), None, Some(Box::new(guesser)), None); + let mut loader = RootPackageLoader::new(manager, config, None, Some(Box::new(guesser)), None); let mut data = IndexMap::new(); data.insert( @@ -323,8 +315,7 @@ fn test_non_feature_branch_pretty_version() { let (process, _guard) = get_process_executor_mock(expectations, true, MockHandler::default()); let guesser = VersionGuesser::new(config.clone(), process, VersionParser::new(), None); - let mut loader = - RootPackageLoader::new(manager, config.clone(), None, Some(Box::new(guesser)), None); + let mut loader = RootPackageLoader::new(manager, config, None, Some(Box::new(guesser)), None); let mut data = IndexMap::new(); data.insert( diff --git a/crates/shirabe/tests/package/version/version_selector_test.rs b/crates/shirabe/tests/package/version/version_selector_test.rs index 7c6eca78..b194eb5f 100644 --- a/crates/shirabe/tests/package/version/version_selector_test.rs +++ b/crates/shirabe/tests/package/version/version_selector_test.rs @@ -99,7 +99,7 @@ fn test_latest_version_is_returned() { let package1 = get_package("foo/bar", "1.2.1"); let package2 = get_package("foo/bar", "1.2.2"); let package3 = get_package("foo/bar", "1.2.0"); - let packages = vec![package1.clone(), package2.clone(), package3.clone()]; + let packages = vec![package1, package2.clone(), package3]; let mut repository_set = MockRepositorySet::new(); repository_set @@ -143,12 +143,7 @@ fn test_latest_version_is_returned_that_matches_php_requirements() { "php".to_string(), require_link(package_name, "php", ">=5.6"), )])); - let packages = vec![ - package0.clone(), - package1.clone(), - package2.clone(), - package3.clone(), - ]; + let packages = vec![package0, package1.clone(), package2, package3.clone()]; let mut repository_set = MockRepositorySet::new(); repository_set @@ -369,7 +364,7 @@ fn test_most_stable_version_is_returned() { let package1 = get_package("foo/bar", "1.0.0"); let package2 = get_package("foo/bar", "1.1.0-beta"); - let packages = vec![package1.clone(), package2.clone()]; + let packages = vec![package1.clone(), package2]; let mut repository_set = MockRepositorySet::new(); repository_set @@ -393,7 +388,7 @@ fn test_most_stable_version_is_returned_regardless_of_order() { let package1 = get_package("foo/bar", "2.x-dev"); let package2 = get_package("foo/bar", "2.0.0-beta3"); - let packages = vec![package1.clone(), package2.clone()]; + let packages = vec![package1, package2.clone()]; let reversed: Vec = packages.iter().rev().cloned().collect(); let mut repository_set = MockRepositorySet::new(); @@ -431,7 +426,7 @@ fn test_highest_version_is_returned() { let package1 = get_package("foo/bar", "1.0.0"); let package2 = get_package("foo/bar", "1.1.0-beta"); - let packages = vec![package1.clone(), package2.clone()]; + let packages = vec![package1, package2.clone()]; let mut repository_set = MockRepositorySet::new(); repository_set @@ -456,7 +451,7 @@ fn test_highest_version_matching_stability_is_returned() { let package1 = get_package("foo/bar", "1.0.0"); let package2 = get_package("foo/bar", "1.1.0-beta"); let package3 = get_package("foo/bar", "1.2.0-alpha"); - let packages = vec![package1.clone(), package2.clone(), package3.clone()]; + let packages = vec![package1, package2.clone(), package3]; let mut repository_set = MockRepositorySet::new(); repository_set @@ -480,7 +475,7 @@ fn test_most_stable_unstable_version_is_returned() { let package2 = get_package("foo/bar", "1.1.0-beta"); let package3 = get_package("foo/bar", "1.2.0-alpha"); - let packages = vec![package2.clone(), package3.clone()]; + let packages = vec![package2.clone(), package3]; let mut repository_set = MockRepositorySet::new(); repository_set @@ -511,7 +506,7 @@ fn test_default_branch_alias_is_never_returned() { VersionParser::DEFAULT_BRANCH_ALIAS.to_string(), ) .into(); - let packages = vec![package.clone(), package2_alias.clone()]; + let packages = vec![package, package2_alias]; let mut repository_set = MockRepositorySet::new(); repository_set @@ -628,7 +623,7 @@ fn test_find_recommended_require_version() { "foo/bar", ), // ext in sync with php - (php_version.clone(), "*", None, "ext-filter"), + (php_version, "*", None, "ext-filter"), // ext versioned individually ("3.0.5".to_string(), "^3.0", None, "ext-xdebug"), ]; diff --git a/crates/shirabe/tests/repository/vcs/github_driver_test.rs b/crates/shirabe/tests/repository/vcs/github_driver_test.rs index dfdbb01e..d6674808 100644 --- a/crates/shirabe/tests/repository/vcs/github_driver_test.rs +++ b/crates/shirabe/tests/repository/vcs/github_driver_test.rs @@ -725,10 +725,7 @@ fn test_private_repository_no_interaction() { { let mut top: IndexMap = IndexMap::new(); let mut config_section: IndexMap = IndexMap::new(); - config_section.insert( - "cache-vcs-dir".to_string(), - PhpMixed::String(cache_vcs_dir.clone()), - ); + config_section.insert("cache-vcs-dir".to_string(), PhpMixed::String(cache_vcs_dir)); top.insert("config".to_string(), PhpMixed::Array(config_section)); config.borrow_mut().merge(&top, Config::SOURCE_UNKNOWN); } diff --git a/crates/shirabe/tests/repository/vcs/gitlab_driver_test.rs b/crates/shirabe/tests/repository/vcs/gitlab_driver_test.rs index 53d93993..2dd968ce 100644 --- a/crates/shirabe/tests/repository/vcs/gitlab_driver_test.rs +++ b/crates/shirabe/tests/repository/vcs/gitlab_driver_test.rs @@ -528,7 +528,7 @@ fn test_get_paginated_refs() { "http://gitlab.com/api/v4/projects/mygroup%2Fmyproject/repository/tags?id=mygroup%2Fmyproject&page=2&per_page=20", None, 200, - branch_data.clone(), + branch_data, vec!["Link: ; rel=\"prev\", ; rel=\"first\", ; rel=\"last\"".to_string()], ), ], diff --git a/crates/shirabe/tests/util/bitbucket_test.rs b/crates/shirabe/tests/util/bitbucket_test.rs index d9010ab1..e0fb9ef2 100644 --- a/crates/shirabe/tests/util/bitbucket_test.rs +++ b/crates/shirabe/tests/util/bitbucket_test.rs @@ -573,7 +573,7 @@ fn test_authorize_oauth_without_available_git_config_token() { }, ); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; let time = time(); let mut bitbucket = Bitbucket::new(io, config, Some(process), Some(http_downloader), Some(time)).unwrap(); @@ -590,7 +590,7 @@ fn test_authorize_oauth_with_available_git_config_token() { let (process, _process_guard) = get_process_executor_mock(vec![], false, MockHandler::default()); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; let time = time(); let mut bitbucket = Bitbucket::new(io, config, Some(process), Some(http_downloader), Some(time)).unwrap(); diff --git a/crates/shirabe/tests/util/gitlab_test.rs b/crates/shirabe/tests/util/gitlab_test.rs index 70aa4656..0ed386e8 100644 --- a/crates/shirabe/tests/util/gitlab_test.rs +++ b/crates/shirabe/tests/util/gitlab_test.rs @@ -92,7 +92,7 @@ fn test_username_password_authentication_flow() { let config = ConfigStubBuilder::new().build_shared(); set_up(&io_mock, &config); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; let mut gitlab = GitLab::new(io, config, None, Some(http_downloader)).unwrap(); assert!( @@ -139,7 +139,7 @@ fn test_username_password_failure() { let config = ConfigStubBuilder::new().build_shared(); set_up(&io_mock, &config); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; let mut gitlab = GitLab::new(io, config, None, Some(http_downloader)).unwrap(); let err = gitlab diff --git a/crates/shirabe/tests/util/http_downloader_test.rs b/crates/shirabe/tests/util/http_downloader_test.rs index 0839cf30..b438dca9 100644 --- a/crates/shirabe/tests/util/http_downloader_test.rs +++ b/crates/shirabe/tests/util/http_downloader_test.rs @@ -40,7 +40,7 @@ fn test_capture_authentication_params_from_url() { .with("gitlab-domains", PhpMixed::Array(IndexMap::new())) .build_shared(); - let io: std::rc::Rc> = io_mock.clone(); + let io: std::rc::Rc> = io_mock; Platform::put_env("COMPOSER_DISABLE_NETWORK", "1"); let fs = HttpDownloader::new(io, config, IndexMap::new(), false); -- cgit v1.3.1