diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-17 16:13:46 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-17 16:14:00 +0900 |
| commit | 2cc92563256ae04bfc227b848a243acc3fcdcc20 (patch) | |
| tree | 803c4d53539eb61885554fc6c68683017a0f802f /crates/shirabe/src | |
| parent | 2ca6b56c4f60cd0135e0c98cea3fc78fbd1c4985 (diff) | |
| download | php-shirabe-2cc92563256ae04bfc227b848a243acc3fcdcc20.tar.gz php-shirabe-2cc92563256ae04bfc227b848a243acc3fcdcc20.tar.zst php-shirabe-2cc92563256ae04bfc227b848a243acc3fcdcc20.zip | |
fix(compile): add Display impls and fix trait signatures
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src')
8 files changed, 72 insertions, 51 deletions
diff --git a/crates/shirabe/src/command/depends_command.rs b/crates/shirabe/src/command/depends_command.rs index 8809fbd..d6f5752 100644 --- a/crates/shirabe/src/command/depends_command.rs +++ b/crates/shirabe/src/command/depends_command.rs @@ -4,11 +4,11 @@ use shirabe_external_packages::symfony::component::console::command::command::Co use crate::command::base_command::BaseCommand; use crate::command::base_dependency_command::BaseDependencyCommand; -use crate::composer::Composer; -use crate::io::io_interface::IOInterface; use crate::command::completion_trait::CompletionTrait; +use crate::composer::Composer; use crate::console::input::input_argument::InputArgument; use crate::console::input::input_option::InputOption; +use crate::io::io_interface::IOInterface; use shirabe_external_packages::symfony::console::input::input_interface::InputInterface; use shirabe_external_packages::symfony::console::output::output_interface::OutputInterface; diff --git a/crates/shirabe/src/command/prohibits_command.rs b/crates/shirabe/src/command/prohibits_command.rs index 7144ba8..fb0de0a 100644 --- a/crates/shirabe/src/command/prohibits_command.rs +++ b/crates/shirabe/src/command/prohibits_command.rs @@ -4,11 +4,11 @@ use shirabe_external_packages::symfony::component::console::command::command::Co use crate::command::base_command::BaseCommand; use crate::command::base_dependency_command::BaseDependencyCommand; -use crate::composer::Composer; -use crate::io::io_interface::IOInterface; use crate::command::completion_trait::CompletionTrait; +use crate::composer::Composer; use crate::console::input::input_argument::InputArgument; use crate::console::input::input_option::InputOption; +use crate::io::io_interface::IOInterface; use shirabe_external_packages::symfony::console::input::input_interface::InputInterface; use shirabe_external_packages::symfony::console::output::output_interface::OutputInterface; diff --git a/crates/shirabe/src/dependency_resolver/generic_rule.rs b/crates/shirabe/src/dependency_resolver/generic_rule.rs index 23d1e3c..1c7f5f4 100644 --- a/crates/shirabe/src/dependency_resolver/generic_rule.rs +++ b/crates/shirabe/src/dependency_resolver/generic_rule.rs @@ -62,23 +62,6 @@ impl GenericRule { pub fn is_assertion(&self) -> bool { self.literals.len() == 1 } - - pub fn to_string(&self) -> String { - let prefix = if self.inner.is_disabled() { - "disabled(" - } else { - "(" - }; - let mut result = prefix.to_string(); - for (i, literal) in self.literals.iter().enumerate() { - if i != 0 { - result.push('|'); - } - result.push_str(&literal.to_string()); - } - result.push(')'); - result - } } pub trait RuleLiterals { @@ -139,3 +122,25 @@ impl Rule for GenericRule { todo!() } } + +impl std::fmt::Display for GenericRule { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{}", + if self.inner.is_disabled() { + "disabled(" + } else { + "(" + } + )?; + + for (i, literal) in self.literals.iter().enumerate() { + if i != 0 { + write!(f, "|")?; + } + write!(f, "{}", literal)?; + } + write!(f, ")") + } +} diff --git a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs index ed77a19..102beaa 100644 --- a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs +++ b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs @@ -90,25 +90,6 @@ impl MultiConflictRule { code: 0, }.into()) } - - pub fn to_string(&self) -> String { - let mut result = if self.inner.is_disabled() { - "disabled(multi(".to_string() - } else { - "(multi(".to_string() - }; - - // TODO multi conflict? - for (i, literal) in self.literals.iter().enumerate() { - if i != 0 { - result.push('|'); - } - result.push_str(&literal.to_string()); - } - - result.push_str("))"); - result - } } impl RuleLiterals for MultiConflictRule { @@ -166,3 +147,26 @@ impl Rule for MultiConflictRule { todo!() } } + +impl std::fmt::Display for MultiConflictRule { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + // TODO multi conflict? + write!( + f, + "{}", + if self.inner.is_disabled() { + "disabled(multi(" + } else { + "(multi(" + } + )?; + + for (i, literal) in self.literals.iter().enumerate() { + if i != 0 { + write!(f, "|")?; + } + write!(f, "{}", literal)?; + } + write!(f, "))") + } +} diff --git a/crates/shirabe/src/dependency_resolver/rule.rs b/crates/shirabe/src/dependency_resolver/rule.rs index 2fa7b58..654be92 100644 --- a/crates/shirabe/src/dependency_resolver/rule.rs +++ b/crates/shirabe/src/dependency_resolver/rule.rs @@ -64,7 +64,6 @@ pub trait Rule: std::fmt::Display { fn get_literals(&self) -> Vec<i64>; fn get_hash(&self) -> PhpMixed; - fn to_string(&self) -> String; fn equals(&self, rule: &dyn Rule) -> bool; fn is_assertion(&self) -> bool; diff --git a/crates/shirabe/src/dependency_resolver/rule2_literals.rs b/crates/shirabe/src/dependency_resolver/rule2_literals.rs index 364b0a6..49a3492 100644 --- a/crates/shirabe/src/dependency_resolver/rule2_literals.rs +++ b/crates/shirabe/src/dependency_resolver/rule2_literals.rs @@ -57,15 +57,6 @@ impl Rule2Literals { pub fn is_assertion(&self) -> bool { false } - - pub fn to_string(&self) -> String { - let prefix = if self.inner.is_disabled() { - "disabled(" - } else { - "(" - }; - format!("{}{}|{})", prefix, self.literal1, self.literal2) - } } impl RuleLiterals for Rule2Literals { @@ -119,3 +110,19 @@ impl Rule for Rule2Literals { todo!() } } + +impl std::fmt::Display for Rule2Literals { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{}", + if self.inner.is_disabled() { + "disabled(" + } else { + "(" + } + )?; + + write!(f, "{}|{})", self.literal1, self.literal2) + } +} diff --git a/crates/shirabe/src/downloader/change_report_interface.rs b/crates/shirabe/src/downloader/change_report_interface.rs index 0413395..f0ca8e0 100644 --- a/crates/shirabe/src/downloader/change_report_interface.rs +++ b/crates/shirabe/src/downloader/change_report_interface.rs @@ -3,5 +3,5 @@ use crate::package::package_interface::PackageInterface; pub trait ChangeReportInterface { - fn get_local_changes(&self, package: &dyn PackageInterface, path: String) -> Option<String>; + fn get_local_changes(&self, package: &dyn PackageInterface, path: &str) -> Option<String>; } diff --git a/crates/shirabe/src/package/complete_package.rs b/crates/shirabe/src/package/complete_package.rs index c76be49..a3db372 100644 --- a/crates/shirabe/src/package/complete_package.rs +++ b/crates/shirabe/src/package/complete_package.rs @@ -350,3 +350,9 @@ impl PackageInterface for CompletePackage { todo!() } } + +impl std::fmt::Display for CompletePackage { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.get_unique_name()) + } +} |
