aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/exec_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-17 21:24:24 +0900
committernsfisis <nsfisis@gmail.com>2026-05-17 21:24:34 +0900
commite752ff0a7e21334c0b9b9e1b87d4965ea8760fd5 (patch)
tree55345a77a769293930f3e77c02ba61eb0af4ffc4 /crates/shirabe/src/command/exec_command.rs
parent07c1ef1aea3a0c60484fdada89de7c5a3b7cf7c6 (diff)
downloadphp-shirabe-e752ff0a7e21334c0b9b9e1b87d4965ea8760fd5.tar.gz
php-shirabe-e752ff0a7e21334c0b9b9e1b87d4965ea8760fd5.tar.zst
php-shirabe-e752ff0a7e21334c0b9b9e1b87d4965ea8760fd5.zip
fix(compile): convert Command struct to trait
Symfony Command was a struct but used as dyn Trait (Box<dyn Command>) in console/application.rs. Convert it to a trait with CommandBase as the concrete stub, and add impl Command for all Composer commands.
Diffstat (limited to 'crates/shirabe/src/command/exec_command.rs')
-rw-r--r--crates/shirabe/src/command/exec_command.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/crates/shirabe/src/command/exec_command.rs b/crates/shirabe/src/command/exec_command.rs
index 82c90bc..17cdb3e 100644
--- a/crates/shirabe/src/command/exec_command.rs
+++ b/crates/shirabe/src/command/exec_command.rs
@@ -2,6 +2,7 @@
use anyhow::Result;
use shirabe_external_packages::symfony::component::console::command::command::Command;
+use shirabe_external_packages::symfony::component::console::command::command::CommandBase;
use shirabe_external_packages::symfony::console::input::input_interface::InputInterface;
use shirabe_external_packages::symfony::console::output::output_interface::OutputInterface;
use shirabe_php_shim::{PhpMixed, RuntimeException, basename, chdir, getcwd, glob};
@@ -14,7 +15,7 @@ use crate::io::io_interface::IOInterface;
#[derive(Debug)]
pub struct ExecCommand {
- inner: Command,
+ inner: CommandBase,
composer: Option<Composer>,
io: Option<Box<dyn IOInterface>>,
}
@@ -193,11 +194,11 @@ impl ExecCommand {
}
impl BaseCommand for ExecCommand {
- fn inner(&self) -> &Command {
+ fn inner(&self) -> &CommandBase {
&self.inner
}
- fn inner_mut(&mut self) -> &mut Command {
+ fn inner_mut(&mut self) -> &mut CommandBase {
&mut self.inner
}
@@ -217,3 +218,5 @@ impl BaseCommand for ExecCommand {
&mut self.io
}
}
+
+impl Command for ExecCommand {}