diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-20 17:25:38 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-20 17:25:38 +0900 |
| commit | daa580b97ad2d585c100927842ba88e891eb9aca (patch) | |
| tree | dcd04a2e76a63fa453cc1ac550f43b5658da58f9 /crates/shirabe-semver/src/lib.rs | |
| parent | 5ef607e2afe7eaf7e2ccdf62f3ffacfede3c5fca (diff) | |
| download | php-shirabe-daa580b97ad2d585c100927842ba88e891eb9aca.tar.gz php-shirabe-daa580b97ad2d585c100927842ba88e891eb9aca.tar.zst php-shirabe-daa580b97ad2d585c100927842ba88e891eb9aca.zip | |
fix(pool-builder): fix three build_pool bugs found by un-ignoring test_pool_builder
build_pool never populated skipped_load for locked packages skipped due
to the update allow list (nor their replace targets), so load_package's
skipped_load-driven transitive-unlock branch never fired.
load_packages_marked_for_loading never recorded loaded packages into
loaded_per_repo, so repositories had no way to dedupe already-loaded
versions when a constraint got re-expanded, producing duplicate pool
entries.
unlock_package looked up a locked package's removal index via the
position in a Vec snapshot of self.packages.values() instead of its
actual IndexMap key, so after earlier removals the wrong entry (or
none) got removed, leaving stale locked packages in the pool.
Fixing all three lets test_pool_builder run un-ignored.
Diffstat (limited to 'crates/shirabe-semver/src/lib.rs')
0 files changed, 0 insertions, 0 deletions
