diff options
Diffstat (limited to 'crates/shirabe/src/command/show_command.rs')
| -rw-r--r-- | crates/shirabe/src/command/show_command.rs | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs index b72a986..3b50add 100644 --- a/crates/shirabe/src/command/show_command.rs +++ b/crates/shirabe/src/command/show_command.rs @@ -16,7 +16,7 @@ use shirabe_php_shim::{ use shirabe_semver::constraint::AnyConstraint; use crate::command::{BaseCommand, BaseCommandData, HasBaseCommandData}; -use crate::composer::PartialComposerHandle; +use crate::composer::{AnyComposerHandle, Composer, PartialComposer}; use crate::console::input::InputOption; use crate::dependency_resolver::DefaultPolicy; use crate::dependency_resolver::PolicyInterface; @@ -277,7 +277,7 @@ impl ShowCommand { installed_repo = Box::new(ir); } } else if input.get_option("all").as_bool() == Some(true) && composer.is_some() { - let mut composer_ref = crate::command::composer_full_mut(composer.as_ref().unwrap()); + let composer_ref = crate::command::composer_full(composer.as_ref().unwrap()); let local_repo_cloned = composer_ref .get_repository_manager() .borrow() @@ -335,7 +335,7 @@ impl ShowCommand { repos = Box::new(CompositeRepository::new(composite_input)); } else if input.get_option("locked").as_bool() == Some(true) { if composer.is_none() - || !crate::command::composer_full_mut(composer.as_ref().unwrap()) + || !crate::command::composer_full(composer.as_ref().unwrap()) .get_locker() .borrow_mut() .is_locked() @@ -346,7 +346,7 @@ impl ShowCommand { } .into()); } - let mut composer_ref = crate::command::composer_full_mut(composer.as_ref().unwrap()); + let composer_ref = crate::command::composer_full(composer.as_ref().unwrap()); let locker_rc = composer_ref.get_locker().clone(); let mut locker = locker_rc.borrow_mut(); let mut lr = @@ -366,19 +366,9 @@ impl ShowCommand { // TODO(phase-b): PHP shares the Composer object by reference. Phase B // can't clone Composer, so we re-fetch via require_composer when missing // but otherwise borrow the existing Option. - let composer_local_owned; - // Borrow guards that keep the Ref alive for the duration of the block. - let _guard_from_existing; let composer_local = match composer.as_ref() { - Some(c) => { - _guard_from_existing = crate::command::composer_full(c); - &*_guard_from_existing - } - None => { - composer_local_owned = self.require_composer(None, None)?; - _guard_from_existing = crate::command::composer_full(&composer_local_owned); - &*_guard_from_existing - } + Some(c) => crate::command::composer_full(c), + None => crate::command::composer_full(&self.require_composer(None, None)?), }; let root_pkg = composer_local.get_package(); @@ -2542,7 +2532,7 @@ impl ShowCommand { fn find_latest_package( &mut self, package: PackageInterfaceHandle, - composer: &PartialComposerHandle, + composer: &AnyComposerHandle, platform_repo: &PlatformRepository, major_only: bool, minor_only: bool, @@ -2680,7 +2670,7 @@ impl ShowCommand { fn get_repository_set( &mut self, - composer: &PartialComposerHandle, + composer: &AnyComposerHandle, ) -> anyhow::Result<&mut RepositorySet> { let composer = crate::command::composer_full(composer); if self.repository_set.is_none() { |
