1--TEST-- 2Closures should be always called with ZEND_ACC_CLOSURE flag set 3--INI-- 4opcache.enable=1 5opcache.enable_cli=1 6opcache.file_update_protection=0 7opcache.jit_buffer_size=1M 8opcache.protect_memory=1 9opcache.jit_hot_func=2 10--EXTENSIONS-- 11opcache 12--FILE-- 13<?php 14class Foo { 15} 16 17function bar() { 18 return function () { 19 return function () { 20 return function () { 21 return 42; 22 }; 23 }; 24 }; 25} 26 27$foo = new Foo; 28$f = bar(); 29 30var_dump($f->call($foo)); 31var_dump($f->call($foo)); 32var_dump($f()); 33?> 34--EXPECT-- 35object(Closure)#3 (1) { 36 ["this"]=> 37 object(Foo)#1 (0) { 38 } 39} 40object(Closure)#3 (1) { 41 ["this"]=> 42 object(Foo)#1 (0) { 43 } 44} 45object(Closure)#3 (0) { 46} 47