> * I added tests (Zend/tests/closures_*.phpt) that ensure the correct > behaviour of closures.
I'd like to propose an additional test to ensure closures can all themselves: <?php $i = 3; $lambda = function ($lambda) use ($i) { if ($i==0) return; echo $i--."\n"; $lambda($lambda); }; $lambda($lambda); echo "$i\n"; ?> Expected output: 3 2 1 3 I see exactly one problem with the patch, which is that the above script shouldn't work without "use (&$i)". I find it counterintuitive that the creation of the lambda creates a copy of $i, but all invocations of $lambda use a reference to the same $i. For n calls to $lambda, there are only 2 copies of $i (one global, one static in $lambda) where I would expect n+1 copies. Gesundheit Wag -- Sieh dich, nimm Sorge. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php