Make continuations cloneable
[hiphop-php.git] / hphp / test / slow / yield / clone / g2.php
blobab51b8e9bc43ae6241705e3516099e0b041902d7
1 <?php
2 function foo($a1, &$a2) {
3 $a1 += 10;
4 $a2 += 100;
5 yield $a1 * 10000 + $a2;
6 $a1 += 20;
7 $a2 += 200;
8 yield $a1 * 10000 + $a2;
9 $a1 += 30;
10 $a2 += 300;
11 yield $a1 * 10000 + $a2;
13 $a1 = 1;
14 $a2 = -999999999;
15 $x = foo($a1, $a2);
16 $a2 = 2;
17 $x->next();
18 $y1 = clone $x;
19 $y2 = clone $x;
20 foreach ($y1 as $v) {
21 $v1 = (int)($v / 10000);
22 $v2 = $v % 10000;
23 echo $v1 . " " . $v2 . "\n";
24 ++$a2;
26 echo "--------\n";
27 var_dump($a1, $a2);
28 echo "========\n";
29 foreach ($y2 as $v) {
30 $v1 = (int)($v / 10000);
31 $v2 = $v % 10000;
32 echo $v1 . " " . $v2 . "\n";
33 ++$a2;
35 echo "--------\n";
36 var_dump($a1, $a2);
37 echo "========\n";
38 foreach ($x as $v) {
39 $v1 = (int)($v / 10000);
40 $v2 = $v % 10000;
41 echo $v1 . " " . $v2 . "\n";
42 ++$a2;
44 echo "--------\n";
45 var_dump($a1, $a2);