Bug #72326 [NEW]: Closure::call does not allow closure to accept arguments by reference

From: Date: Fri, 03 Jun 2016 10:47:24 +0000
Subject: Bug #72326 [NEW]: Closure::call does not allow closure to accept arguments by reference
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-201421@lists.php.net to get a copy of this message
From: contact at jaborandi dot org dot ru Operating system: PHP version: 7.0.7 Package: Variables related Bug Type: Bug Bug description:Closure::call does not allow closure to accept arguments by reference Description: ------------ calling Closure::call() method on anonymouse function that accepts arguments by reference triggers Warning and doesn't execute the function if same closure is called in regular way, or using call_user_func, or if it does not accept any argument by reference, it is executed normally tested in 7.0.7, as well as in 7.0.3, 7.0.4, 7.0.5, with the same result (haven't tested call_user_func in 7.0.5 though, sandbox disabled it) Test script: --------------- $a = function(&$arg) { echo "ok"; }; $z = 1; class MyContext {} $a->call(new MyContext, $z); Expected result: ---------------- ok Actual result: -------------- Warning: Parameter 1 to MyContext::{closure}() expected to be a reference, value given in C:\bin\php7.0.7\bug.php on line 6 -- Edit bug report at https://bugs.php.net/bug.php?id=72326&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=72326&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=72326&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=72326&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=72326&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=72326&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=72326&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=72326&r=needscript Try newer version: https://bugs.php.net/fix.php?id=72326&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=72326&r=support Expected behavior: https://bugs.php.net/fix.php?id=72326&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=72326&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=72326&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=72326&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=72326&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=72326&r=dst IIS Stability: https://bugs.php.net/fix.php?id=72326&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=72326&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=72326&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=72326&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=72326&r=mysqlcfg

« previous php.bugs (#201421) next »