From c688de488d72e67ab1650b50adef4ad11f5de756 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Jun 2026 19:09:49 +0900 Subject: refactor(installed-repository): make add_repository infallible with assert The repository type check was an internal invariant, not a recoverable error condition. Replace the Result-returning validation with an assert!, matching Composer's design where add_repository throws only on a programming error, and drop the now-unneeded error handling at call sites. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/src/command/base_dependency_command.rs | 14 ++++++-------- crates/shirabe/src/command/show_command.rs | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'crates/shirabe/src/command') diff --git a/crates/shirabe/src/command/base_dependency_command.rs b/crates/shirabe/src/command/base_dependency_command.rs index 4a5b854..a9ed7cd 100644 --- a/crates/shirabe/src/command/base_dependency_command.rs +++ b/crates/shirabe/src/command/base_dependency_command.rs @@ -166,13 +166,11 @@ pub trait BaseDependencyCommand: BaseCommand { &needle, FindPackageConstraint::String(text_constraint.clone()), )? { - installed_repo.add_repository( - crate::repository::RepositoryInterfaceHandle::new( - InstalledArrayRepository::new_with_packages(vec![ - crate::package::PackageInterfaceHandle::dup(&r#match), - ])?, - ), - )?; + installed_repo.add_repository(crate::repository::RepositoryInterfaceHandle::new( + InstalledArrayRepository::new_with_packages(vec![ + crate::package::PackageInterfaceHandle::dup(&r#match), + ])?, + )); } else if PlatformRepository::is_platform_package(&needle) { let parser = VersionParser::new(); let platform_constraint = parser.parse_constraints(&text_constraint)?; @@ -189,7 +187,7 @@ pub trait BaseDependencyCommand: BaseCommand { .into(), ])?, ), - )?; + ); } } else { self.get_io().write_error(&format!( diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs index e14ab15..859ba97 100644 --- a/crates/shirabe/src/command/show_command.rs +++ b/crates/shirabe/src/command/show_command.rs @@ -270,7 +270,7 @@ impl ShowCommand { .get_repository_manager() .borrow() .get_local_repository(), - )?; + ); installed_repo = RepositoryInterfaceHandle::new(ir); } else { let default_repos = -- cgit v1.3.1