diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-06 11:37:47 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-06 11:37:47 +0900 |
| commit | 787d01e75cf761d6602a25c466feb5553fc71315 (patch) | |
| tree | 23781022ddaee8be3c8f1f5476acb99dabf7ac3a /crates/shirabe/src/dependency_resolver/pool_builder.rs | |
| parent | 9f6f83c479985e882dbd086a8495bcd772c80b54 (diff) | |
| download | php-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.rs | 8 |
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); |
