aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/repository_set.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-29 03:42:14 +0900
committernsfisis <nsfisis@gmail.com>2026-05-29 03:42:14 +0900
commit86fcc80b348a3f00ab81e5447924aa10202d95e8 (patch)
tree0bdb4f7bd11aab799230a97500a380401a93b77e /crates/shirabe/src/repository/repository_set.rs
parent7f83e785a77fbdbcada9c6714703d4e5801af82a (diff)
downloadphp-shirabe-86fcc80b348a3f00ab81e5447924aa10202d95e8.tar.gz
php-shirabe-86fcc80b348a3f00ab81e5447924aa10202d95e8.tar.zst
php-shirabe-86fcc80b348a3f00ab81e5447924aa10202d95e8.zip
refactor(repository): introduce typed LockArrayRepositoryHandle
Share LockArrayRepository via Rc<RefCell<_>> while preserving the PHP ?LockArrayRepository type strength: Request.locked_repository, Locker ::get_locked_repository, and the installer create_* helpers now thread the typed handle instead of an owned LockArrayRepository, and pool builder identity check becomes a strict ptr_eq via widening into RepositoryInterfaceHandle. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/repository/repository_set.rs')
-rw-r--r--crates/shirabe/src/repository/repository_set.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/shirabe/src/repository/repository_set.rs b/crates/shirabe/src/repository/repository_set.rs
index f4a4057..843af80 100644
--- a/crates/shirabe/src/repository/repository_set.rs
+++ b/crates/shirabe/src/repository/repository_set.rs
@@ -32,7 +32,7 @@ use crate::package::version::StabilityFilter;
use crate::repository::CompositeRepository;
use crate::repository::InstalledRepository;
use crate::repository::InstalledRepositoryInterface;
-use crate::repository::LockArrayRepository;
+use crate::repository::LockArrayRepositoryHandle;
use crate::repository::PlatformRepository;
use crate::repository::{AdvisoryProviderInterface, PartialOrSecurityAdvisory};
use crate::repository::{FindPackageConstraint, RepositoryInterface, RepositoryInterfaceHandle};
@@ -573,7 +573,7 @@ impl RepositorySet {
pub fn create_pool_for_package(
&mut self,
package_name: &str,
- locked_repo: Option<LockArrayRepository>,
+ locked_repo: Option<LockArrayRepositoryHandle>,
) -> Result<Pool> {
// TODO unify this with above in some simpler version without "request"?
self.create_pool_for_packages(vec![package_name.to_string()], locked_repo)
@@ -583,7 +583,7 @@ impl RepositorySet {
pub fn create_pool_for_packages(
&mut self,
package_names: Vec<String>,
- locked_repo: Option<LockArrayRepository>,
+ locked_repo: Option<LockArrayRepositoryHandle>,
) -> Result<Pool> {
let mut request = Request::new(locked_repo);