1--TEST--
2Multiple yield from on a same Generator instance
3--FILE--
4<?php
5
6function gen($a = 0) {
7    yield 1 + $a;
8    if ($a < 1) {
9        var_dump(yield from gen($a + 1));
10    }
11    yield 3 + $a;
12    return 5 + $a;
13}
14
15function bar($gen) {
16    var_dump(yield from $gen);
17}
18
19/* Twice a Generator from bar() using yield from on $gen */
20$gen = gen();
21$gens[] = bar($gen);
22$gens[] = bar($gen);
23
24do {
25    foreach ($gens as $g) {
26        var_dump($g->current());
27        $g->next();
28    }
29} while($gens[0]->valid());
30var_dump($gens[1]->valid());
31
32?>
33--EXPECT--
34int(1)
35int(2)
36int(4)
37int(6)
38int(3)
39int(5)
40int(3)
41int(5)
42NULL
43bool(false)
44