|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-01-30 17:42 UTC] requinix@php.net
-Status: Open
+Status: Not a bug
[2017-01-30 17:42 UTC] requinix@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 06 00:00:02 2025 UTC |
Description: ------------ Distro: openSUSE Leap 42.1 (x86_64) Packages used: php7-7.0.15-35.2.x86_64 Standard (not changed) php.ini Command to run: php test-static-lambda.php Test script: --------------- <?php function f1() { $lambda1 = function() {}; // line 3 } function f2() { $lambda2 = static function() {}; // line 7 } function f3() { static $lambda3 = function() {}; // line 11 } function f4() { static $lambda4 = static function() {}; // line 15 } Expected result: ---------------- Lines 11 and 15 should not produce a fatal error. BTW, I'm slightly in doubt about line 11 since it looks wrong. Instead, lines 11 and 15 should be performed silently as lines 4 and 9 do. Actual result: -------------- PHP Fatal error: Constant expression contains invalid operations in /home/user/tmp/test-static-lambda.php on line 11 If you comment out the line 11 then: PHP Fatal error: Constant expression contains invalid operations in /home/user/tmp/test-static-lambda.php on line 15