From cd25c3e193f05a5e89bca2a1c706c85fdc9c9155 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Jun 2026 02:13:59 +0900 Subject: refactor(repository): make read methods fallible and take &mut self Change RepositoryInterface and WritableRepositoryInterface read methods (find_package, find_packages, get_packages, load_packages, search, get_providers, get_canonical_packages) to take &mut self and return anyhow::Result, so lazy-loading repositories such as ComposerRepository can perform fallible I/O and mutate internal state on access. Update all implementors and call sites to propagate the Result and pass mutable references. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../solver_problems_exception.rs | 24 ++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'crates/shirabe/src/dependency_resolver/solver_problems_exception.rs') diff --git a/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs b/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs index 17ebaf2..7aa8a46 100644 --- a/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs +++ b/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs @@ -52,8 +52,8 @@ impl SolverProblemsException { pool: &mut Pool, is_verbose: bool, is_dev_extraction: bool, - ) -> String { - let installed_map = request.get_present_map(true); + ) -> anyhow::Result { + let installed_map = request.get_present_map(true)?; let mut missing_extensions: Vec = Vec::new(); let mut is_caused_by_lock = false; @@ -61,16 +61,14 @@ impl SolverProblemsException { for problem in &self.problems { problems.push(format!( "{}\n", - problem - .get_pretty_string( - repository_set, - request, - pool, - is_verbose, - &installed_map, - &self.learned_pool - ) - .unwrap_or_default() + problem.get_pretty_string( + repository_set, + request, + pool, + is_verbose, + &installed_map, + &self.learned_pool + )? )); // TODO(phase-b): get_reasons returns an IndexMap; flatten its values into Vec>. let reasons_vec: Vec>>> = problem @@ -126,7 +124,7 @@ impl SolverProblemsException { text.push_str(&hints.join("\n\n")); } - text + Ok(text) } pub fn get_problems(&self) -> &Vec { -- cgit v1.3.1