diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-06 15:36:28 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-06 15:36:28 +0900 |
| commit | 44e82cc7d937d49593c6f436d03a38f3371b6873 (patch) | |
| tree | 227a7aac9d6b39c92108ffb78c0945cb7737d27c /crates/shirabe/src/dependency_resolver/operation | |
| parent | 165b77b169fbb13a984b6d80f610e3aaa33334e6 (diff) | |
| download | php-shirabe-44e82cc7d937d49593c6f436d03a38f3371b6873.tar.gz php-shirabe-44e82cc7d937d49593c6f436d03a38f3371b6873.tar.zst php-shirabe-44e82cc7d937d49593c6f436d03a38f3371b6873.zip | |
refactor(operation,link): port __toString to Display
Move __toString ports to std::fmt::Display: convert Link's inherent
to_string() and make OperationInterface require Display instead of a
to_string() method, with each operation implementing Display.
Also fix the operation __toString output to use show(false), matching
SolverOperation::__toString() (was show(true)).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/operation')
6 files changed, 27 insertions, 19 deletions
diff --git a/crates/shirabe/src/dependency_resolver/operation/install_operation.rs b/crates/shirabe/src/dependency_resolver/operation/install_operation.rs index 1331591..ca3286c 100644 --- a/crates/shirabe/src/dependency_resolver/operation/install_operation.rs +++ b/crates/shirabe/src/dependency_resolver/operation/install_operation.rs @@ -45,11 +45,13 @@ impl OperationInterface for InstallOperation { Self::format(self.package.clone(), lock) } - fn to_string(&self) -> String { - self.show(true) - } - fn as_install_operation(&self) -> Option<&InstallOperation> { Some(self) } } + +impl std::fmt::Display for InstallOperation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.show(false)) + } +} diff --git a/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs b/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs index f5cb825..ab07b6a 100644 --- a/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs +++ b/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs @@ -44,8 +44,10 @@ impl OperationInterface for MarkAliasInstalledOperation { .get_full_pretty_version(true, crate::package::DisplayMode::SourceRefIfDev), ) } +} - fn to_string(&self) -> String { - self.show(true) +impl std::fmt::Display for MarkAliasInstalledOperation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.show(false)) } } diff --git a/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs b/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs index f8314f5..1b107f0 100644 --- a/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs +++ b/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs @@ -44,8 +44,10 @@ impl OperationInterface for MarkAliasUninstalledOperation { .get_full_pretty_version(true, crate::package::DisplayMode::SourceRefIfDev), ) } +} - fn to_string(&self) -> String { - self.show(true) +impl std::fmt::Display for MarkAliasUninstalledOperation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.show(false)) } } diff --git a/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs b/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs index 51b150c..30ed8eb 100644 --- a/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs +++ b/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs @@ -4,15 +4,13 @@ use crate::dependency_resolver::operation::InstallOperation; use crate::dependency_resolver::operation::UninstallOperation; use crate::dependency_resolver::operation::UpdateOperation; -pub trait OperationInterface: std::fmt::Debug { +pub trait OperationInterface: std::fmt::Display + std::fmt::Debug { fn as_any(&self) -> &dyn std::any::Any; fn get_operation_type(&self) -> String; fn show(&self, lock: bool) -> String; - fn to_string(&self) -> String; - fn as_install_operation(&self) -> Option<&InstallOperation> { None } diff --git a/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs b/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs index 465297d..efb3610 100644 --- a/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs +++ b/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs @@ -44,11 +44,13 @@ impl OperationInterface for UninstallOperation { Self::format(self.package.clone(), lock) } - fn to_string(&self) -> String { - self.show(true) - } - fn as_uninstall_operation(&self) -> Option<&UninstallOperation> { Some(self) } } + +impl std::fmt::Display for UninstallOperation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.show(false)) + } +} diff --git a/crates/shirabe/src/dependency_resolver/operation/update_operation.rs b/crates/shirabe/src/dependency_resolver/operation/update_operation.rs index 0bf3e35..76b1718 100644 --- a/crates/shirabe/src/dependency_resolver/operation/update_operation.rs +++ b/crates/shirabe/src/dependency_resolver/operation/update_operation.rs @@ -95,11 +95,13 @@ impl OperationInterface for UpdateOperation { ) } - fn to_string(&self) -> String { - self.show(true) - } - fn as_update_operation(&self) -> Option<&UpdateOperation> { Some(self) } } + +impl std::fmt::Display for UpdateOperation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.show(false)) + } +} |
