php-src/Zend/tests/closure_060.phpt
Bob Weinand 3c288b12b4 Fix bad run_time_cache with Closure::call()
This also fixes a memory "leak" (memory is allocated on unbounded arena without limits) on each new Closure instantiation.
Closures with same scope now all share the same run_time_cache (as long as it is arena allocated)
2015-06-21 16:39:44 +02:00

26 lines
353 B
PHP

--TEST--
runtime cache must be invalidated for Closure::call()
--FILE--
<?php
class A {
private static $priv = 7;
static function get() {
return function() {
var_dump(isset(A::$priv));
};
}
}
$closure = A::get();
$closure(); // init rt_cache
$closure->call(new class(){}, null);
$closure();
?>
--EXPECT--
bool(true)
bool(false)
bool(true)