--TEST-- Bug #80929: Method name corruption related to zend_closure_call_magic --FILE-- subscribedEvents = $subscribedEvents; $this->subscriber = $subscriber; foreach ($this->subscribedEvents as $eventName => $params) { $this->listener = Closure::fromCallable([$this, $params]); } } public function __call(string $name, array $arguments) { return $this->subscriber->$name(...$arguments); } public function dispatch($event, string $eventName) { ($this->listener)($event, $eventName, null); } } $proxy = new SubscriberProxy( ['defaultEvent' => 'handleDefaultEvent'], new DefaultListener() ); for ($i = 0; $i < 10; $i++) { echo $i . PHP_EOL; $proxy->dispatch(null, 'defaultEvent'); } ?> --EXPECT-- 0 1 2 3 4 5 6 7 8 9