From 787d01e75cf761d6602a25c466feb5553fc71315 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Jun 2026 11:37:47 +0900 Subject: fix(pool-optimizer): assert irremovable invariant instead of swallowing mark_package_for_removal's LogicException can only fire on a bug since both callers pre-filter irremovable packages, so port it as an assert! rather than a recoverable Result. This unwinds the Result chain through optimize and drops the pool_builder match that silently returned the unoptimized pool on error, matching PHP's fatal-error propagation. --- crates/shirabe/src/dependency_resolver/pool_builder.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'crates/shirabe/src/dependency_resolver/pool_builder.rs') diff --git a/crates/shirabe/src/dependency_resolver/pool_builder.rs b/crates/shirabe/src/dependency_resolver/pool_builder.rs index 5750450..20b96e0 100644 --- a/crates/shirabe/src/dependency_resolver/pool_builder.rs +++ b/crates/shirabe/src/dependency_resolver/pool_builder.rs @@ -1070,15 +1070,11 @@ impl PoolBuilder { let before = microtime(true); let total = pool.get_packages().len() as f64; - let pool = match self + let pool = self .pool_optimizer .as_mut() .unwrap() - .optimize(request, &pool) - { - Ok(p) => p, - Err(_) => return pool, - }; + .optimize(request, &pool); let filtered = total - (pool.get_packages().len() as f64); -- cgit v1.3.1