aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/base_config_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-26 20:04:02 +0900
committernsfisis <nsfisis@gmail.com>2026-05-26 20:04:02 +0900
commitf411daceacad66e0bd774fda7d3c5ef8533cc55c (patch)
treeeefb065e4d676a3f7031ca49bab21c773b00b134 /crates/shirabe/src/command/base_config_command.rs
parent1921f173ea219cb4b25847294d2d3fa465550fbb (diff)
downloadphp-shirabe-f411daceacad66e0bd774fda7d3c5ef8533cc55c.tar.gz
php-shirabe-f411daceacad66e0bd774fda7d3c5ef8533cc55c.tar.zst
php-shirabe-f411daceacad66e0bd774fda7d3c5ef8533cc55c.zip
refactor(io): share IOInterface via Rc<RefCell<dyn _>> handle
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/command/base_config_command.rs')
-rw-r--r--crates/shirabe/src/command/base_config_command.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/shirabe/src/command/base_config_command.rs b/crates/shirabe/src/command/base_config_command.rs
index 85e68b3..1b7294e 100644
--- a/crates/shirabe/src/command/base_config_command.rs
+++ b/crates/shirabe/src/command/base_config_command.rs
@@ -37,9 +37,9 @@ pub trait BaseConfigCommand: BaseCommand {
}
// TODO(phase-b): clone_box to release the &mut self borrow held by get_io.
- let io = self.get_io().clone_box();
+ let io = self.get_io().clone();
*self.config_mut() = Some(std::rc::Rc::new(std::cell::RefCell::new(
- Factory::create_config(Some(io.as_ref()), None)?,
+ Factory::create_config(Some(io.clone()), None)?,
)));
let config_rc = self.config().unwrap().clone();
@@ -62,7 +62,7 @@ pub trait BaseConfigCommand: BaseCommand {
self.set_config_file(Some(JsonFile::new(
config_file.clone(),
None,
- Some(io.clone_box()),
+ Some(io.clone()),
)?));
// TODO(phase-b): JsonConfigSource::new takes owned JsonFile, but PHP shares the same
// instance with $this->configFile. Needs Rc<RefCell<JsonFile>> refactor on both sides.