From: hanskrentel at yahoo dot de Operating system: Multiple PHP version: Irrelevant Package: *General Issues Bug Type: Bug Bug description:Variable Aliasing does not work in Closure
Description: ------------ It's not possible to make use of variable aliasing in PHP when the alias is used within the use clause of a lambda function construct that is assigned to that variable (recursion). PHP denies to do what it is commanded with a Fatal error: Cannot destroy active lambda function. But the function is not destroyed. It's just not that the variable container contains the identifier of it. I'd like to change that, and I don't want to waste another variable name. Also I don't understand how I can actually destroy something I should not have any access to from PHP userland. Or if that is intended, please allow us to destroy the active lambda making the function return NULL and continue to execute. Test script: --------------- $f = function() use (&$f) { $f = function() {echo "hello"}; }; $f(); $f(); Expected result: ---------------- hello Actual result: -------------- Fatal error: Cannot destroy active lambda function -- Edit bug report at https://bugs.php.net/bug.php?id=62452&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=62452&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=62452&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=62452&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=62452&r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=62452&r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=62452&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=62452&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=62452&r=needscript Try newer version: https://bugs.php.net/fix.php?id=62452&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=62452&r=support Expected behavior: https://bugs.php.net/fix.php?id=62452&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=62452&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=62452&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=62452&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=62452&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=62452&r=dst IIS Stability: https://bugs.php.net/fix.php?id=62452&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=62452&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=62452&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=62452&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=62452&r=mysqlcfg