From 1afc35c977eb443967fc768d67057a28b56ba15b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 20 Jun 2026 03:44:30 +0900 Subject: refactor(plugin): return borrowed plugins from get_plugins, drop clone_box PluginManager::get_plugins cloned each plugin through a Rust-only `clone_box` stub (`todo!()`). PHP's getPlugins() returns `$this->plugins` directly and the objects are shared by reference, so borrow the stored instances (`&[Box]`) instead of cloning. The sole caller is adjusted and `PluginInterface::clone_box` is removed. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/src/plugin/plugin_interface.rs | 4 ---- 1 file changed, 4 deletions(-) (limited to 'crates/shirabe/src/plugin/plugin_interface.rs') diff --git a/crates/shirabe/src/plugin/plugin_interface.rs b/crates/shirabe/src/plugin/plugin_interface.rs index d335bf0..486dbea 100644 --- a/crates/shirabe/src/plugin/plugin_interface.rs +++ b/crates/shirabe/src/plugin/plugin_interface.rs @@ -15,10 +15,6 @@ pub trait PluginInterface: std::fmt::Debug { fn uninstall(&mut self, composer: &ComposerHandle, io: Rc>); - fn clone_box(&self) -> Box { - todo!() - } - // TODO(plugin): PHP-side `instanceof` checks for EventSubscriberInterface / Capable. // EventSubscriberInterface is not dyn-compatible (its only method is associated, not // a `&self` method), so we expose a boolean predicate instead. -- cgit v1.3.1