From 222012294e953a0f5bf6e442b8a61116235c86b5 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 5 Jun 2026 02:31:07 +0900 Subject: feat(dependency-resolver): share policy via Rc, drop clone_box PolicyInterface::clone_box (a todo!() trait-object clone stub) is removed in favor of Rc shared ownership, matching PHP's by-reference sharing of the single $policy object across Solver, RuleSetGenerator and PoolOptimizer. With PoolOptimizer::new now taking an Rc, Installer::create_pool_optimizer is implemented faithfully (return new PoolOptimizer($policy)); create_policy returns the shared Rc. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/src/dependency_resolver/policy_interface.rs | 4 ---- 1 file changed, 4 deletions(-) (limited to 'crates/shirabe/src/dependency_resolver/policy_interface.rs') diff --git a/crates/shirabe/src/dependency_resolver/policy_interface.rs b/crates/shirabe/src/dependency_resolver/policy_interface.rs index 0b37dc5..b2d1263 100644 --- a/crates/shirabe/src/dependency_resolver/policy_interface.rs +++ b/crates/shirabe/src/dependency_resolver/policy_interface.rs @@ -12,8 +12,4 @@ pub trait PolicyInterface: std::fmt::Debug { literals: Vec, required_package: Option, ) -> Vec; - - fn clone_box(&self) -> Box { - todo!() - } } -- cgit v1.3.1