From cc5d73c05a0abca2eebcc8a6afa0b1543ee49850 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 27 May 2026 00:49:33 +0900 Subject: refactor(package): pass package handles by value throughout Co-Authored-By: Claude Opus 4.7 (1M context) --- .../shirabe/src/downloader/downloader_interface.rs | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'crates/shirabe/src/downloader/downloader_interface.rs') diff --git a/crates/shirabe/src/downloader/downloader_interface.rs b/crates/shirabe/src/downloader/downloader_interface.rs index 18026a4..986db28 100644 --- a/crates/shirabe/src/downloader/downloader_interface.rs +++ b/crates/shirabe/src/downloader/downloader_interface.rs @@ -1,6 +1,6 @@ //! ref: composer/src/Composer/Downloader/DownloaderInterface.php -use crate::package::PackageInterface; +use crate::package::PackageInterfaceHandle; use shirabe_php_shim::PhpMixed; #[async_trait::async_trait(?Send)] @@ -9,18 +9,18 @@ pub trait DownloaderInterface: std::fmt::Debug { async fn download( &self, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, - prev_package: Option<&dyn PackageInterface>, + prev_package: Option, output: bool, ) -> anyhow::Result>; /// Convenience for the PHP default `$output = true` overload. async fn download3( &self, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, - prev_package: Option<&dyn PackageInterface>, + prev_package: Option, ) -> anyhow::Result> { self.download(package, path, prev_package, true).await } @@ -28,14 +28,14 @@ pub trait DownloaderInterface: std::fmt::Debug { async fn prepare( &self, r#type: &str, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, - prev_package: Option<&dyn PackageInterface>, + prev_package: Option, ) -> anyhow::Result>; async fn install( &self, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, output: bool, ) -> anyhow::Result>; @@ -43,7 +43,7 @@ pub trait DownloaderInterface: std::fmt::Debug { /// Convenience for the PHP default `$output = true` overload. async fn install2( &self, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, ) -> anyhow::Result> { self.install(package, path, true).await @@ -51,14 +51,14 @@ pub trait DownloaderInterface: std::fmt::Debug { async fn update( &self, - initial: &dyn PackageInterface, - target: &dyn PackageInterface, + initial: PackageInterfaceHandle, + target: PackageInterfaceHandle, path: &str, ) -> anyhow::Result>; async fn remove( &self, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, output: bool, ) -> anyhow::Result>; @@ -66,7 +66,7 @@ pub trait DownloaderInterface: std::fmt::Debug { /// Convenience for the PHP default `$output = true` overload. async fn remove2( &self, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, ) -> anyhow::Result> { self.remove(package, path, true).await @@ -75,9 +75,9 @@ pub trait DownloaderInterface: std::fmt::Debug { async fn cleanup( &self, r#type: &str, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, path: &str, - prev_package: Option<&dyn PackageInterface>, + prev_package: Option, ) -> anyhow::Result>; /// TODO(phase-b): runtime downcast helpers for PHP `instanceof` checks. -- cgit v1.3.1