On Wed, Aug 29, 2012 at 10:10 PM, Derick Rethans <der...@php.net> wrote:
> On Wed, 29 Aug 2012, Nikita Popov wrote:
>
>> > function &bind(array $keys, array &$row)
>> > {
>> >         foreach($keys as $key)
>> >                 yield $key => $row[$key];
>> > }
>> >
>> > $row = [];
>> > $it = bind(['a', 'b'], $row);
>> >
>> > foreach($it as $key => &$ref)
>> >         echo $key;
>> > echo "\n";
>> > foreach($it as $key => &$ref)
>> >         echo $key;
>>
>> Thanks, this is now fixed. It'll throw an exception now, saying that
>> you can't traverse an already closed generator.
>
> Nothing in the core throws an exception, why would this?!

To my knowledge all iterator-related functionality is supposed to
throw exceptions (as it is a feature related to the object oriented
part of PHP). At leas this is what a quick search of the code base
gave me. (See http://lxr.php.net/xref/PHP_TRUNK/ext/spl/spl_dllist.c#1248
for example).

Nikita

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to