aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/require_command.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/command/require_command.rs')
-rw-r--r--crates/shirabe/src/command/require_command.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/crates/shirabe/src/command/require_command.rs b/crates/shirabe/src/command/require_command.rs
index f59d60f..bb90361 100644
--- a/crates/shirabe/src/command/require_command.rs
+++ b/crates/shirabe/src/command/require_command.rs
@@ -933,18 +933,17 @@ impl RequireCommand {
),
None,
)?;
- // TODO(phase-b): get_locked_repository returns LockArrayRepository (owned) and
- // get_local_repository returns &dyn InstalledRepositoryInterface; need a common
- // interface for find_package.
- let locked_repo;
- let repo: &dyn RepositoryInterface = if locker_is_locked {
- locked_repo = composer
+ let repo: crate::repository::RepositoryInterfaceHandle = if locker_is_locked {
+ composer
.get_locker()
.borrow_mut()
- .get_locked_repository(true)?;
- &locked_repo
+ .get_locked_repository(true)?
+ .into()
} else {
- todo!("convert &dyn InstalledRepositoryInterface to &dyn RepositoryInterface")
+ composer
+ .get_repository_manager()
+ .borrow()
+ .get_local_repository()
};
for package_name in requirements_to_update {
let mut package = repo.find_package(