aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/pool_builder.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-06 11:37:47 +0900
committernsfisis <nsfisis@gmail.com>2026-06-06 11:37:47 +0900
commit787d01e75cf761d6602a25c466feb5553fc71315 (patch)
tree23781022ddaee8be3c8f1f5476acb99dabf7ac3a /crates/shirabe/src/dependency_resolver/pool_builder.rs
parent9f6f83c479985e882dbd086a8495bcd772c80b54 (diff)
downloadphp-shirabe-787d01e75cf761d6602a25c466feb5553fc71315.tar.gz
php-shirabe-787d01e75cf761d6602a25c466feb5553fc71315.tar.zst
php-shirabe-787d01e75cf761d6602a25c466feb5553fc71315.zip
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.
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/pool_builder.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/pool_builder.rs8
1 files changed, 2 insertions, 6 deletions
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);