From d5b313f388d424e60ae33ae58c1a65a65b24b8f1 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Jun 2026 18:04:45 +0900 Subject: refactor(command): share Input/OutputInterface via Rc Convert InputInterface and OutputInterface parameters from &dyn/&mut dyn references to Rc> shared ownership across the command, console, and IO layers, matching the Phase C shared-ownership approach already used for IOInterface. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/src/event_dispatcher/event_dispatcher.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'crates/shirabe/src/event_dispatcher') diff --git a/crates/shirabe/src/event_dispatcher/event_dispatcher.rs b/crates/shirabe/src/event_dispatcher/event_dispatcher.rs index 7122a4b..bea2e76 100644 --- a/crates/shirabe/src/event_dispatcher/event_dispatcher.rs +++ b/crates/shirabe/src/event_dispatcher/event_dispatcher.rs @@ -627,7 +627,10 @@ impl EventDispatcher { .to_string(); let mut input = StringInput::new(&input_str); let mut output = output; - Ok(app.run(Some(&mut input), Some(&mut output))?) + Ok(app.run( + Some(std::rc::Rc::new(std::cell::RefCell::new(input))), + Some(std::rc::Rc::new(std::cell::RefCell::new(output))), + )?) })(); match result { Ok(v) => r#return = v, -- cgit v1.3.1