1--TEST-- 2Bug #79778: Assertion failure if dumping closure with unresolved static variable 3--FILE-- 4<?php 5$closure1 = function() { 6 static $var = CONST_REF; 7}; 8 9var_dump($closure1); 10print_r($closure1); 11 12try { 13 $closure1(); 14} catch (\Error $e) { 15 echo $e->getMessage(), "\n"; 16} 17 18var_dump($closure1); 19print_r($closure1); 20 21const CONST_REF = 'foo'; 22$closure1(); 23var_dump($closure1); 24print_r($closure1); 25 26?> 27--EXPECT-- 28object(Closure)#1 (1) { 29 ["static"]=> 30 array(1) { 31 ["var"]=> 32 NULL 33 } 34} 35Closure Object 36( 37 [static] => Array 38 ( 39 [var] => 40 ) 41 42) 43Undefined constant "CONST_REF" 44object(Closure)#1 (1) { 45 ["static"]=> 46 array(1) { 47 ["var"]=> 48 NULL 49 } 50} 51Closure Object 52( 53 [static] => Array 54 ( 55 [var] => 56 ) 57 58) 59object(Closure)#1 (1) { 60 ["static"]=> 61 array(1) { 62 ["var"]=> 63 string(3) "foo" 64 } 65} 66Closure Object 67( 68 [static] => Array 69 ( 70 [var] => foo 71 ) 72 73) 74