diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-26 01:14:19 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-26 01:14:19 +0900 |
| commit | ae221675090675604411ce460c7053dba8bd8ec4 (patch) | |
| tree | c6e033569b87bc1facab51abcfe98e1a44ec34a4 /crates/shirabe/src | |
| parent | 36ee45a9aaa5c13ce3e7f7abcce4374e25536224 (diff) | |
| download | php-shirabe-ae221675090675604411ce460c7053dba8bd8ec4.tar.gz php-shirabe-ae221675090675604411ce460c7053dba8bd8ec4.tar.zst php-shirabe-ae221675090675604411ce460c7053dba8bd8ec4.zip | |
fix(dump-autoload-command): borrow Composer immutably in execute
execute only calls &self getters on the Composer, but borrowed it via
composer_full_mut. The held RefMut deadlocked the re-entrant shared borrow
taken by EventDispatcher::dispatch -> get_script_listeners ->
PartialComposerHandle::borrow_partial, panicking on every invocation.
Un-ignores all 12 DumpAutoloadCommandTest cases.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src')
| -rw-r--r-- | crates/shirabe/src/command/dump_autoload_command.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/shirabe/src/command/dump_autoload_command.rs b/crates/shirabe/src/command/dump_autoload_command.rs index 200ada2..fae4d76 100644 --- a/crates/shirabe/src/command/dump_autoload_command.rs +++ b/crates/shirabe/src/command/dump_autoload_command.rs @@ -76,7 +76,7 @@ impl Command for DumpAutoloadCommand { output: Rc<RefCell<dyn OutputInterface>>, ) -> anyhow::Result<i64> { let composer = self.require_composer(None, None)?; - let mut composer = crate::command::composer_full_mut(&composer); + let composer = crate::command::composer_full(&composer); // TODO(plugin): dispatch CommandEvent let command_event = CommandEvent::new( |
