//! ref: composer/src/Composer/DependencyResolver/PolicyInterface.php use crate::dependency_resolver::pool::Pool; use crate::package::package_interface::PackageInterface; pub trait PolicyInterface: std::fmt::Debug { fn version_compare( &self, a: &dyn PackageInterface, b: &dyn PackageInterface, operator: &str, ) -> bool; fn select_preferred_packages( &self, pool: &Pool, literals: Vec, required_package: Option, ) -> Vec; fn clone_box(&self) -> Box { todo!() } }