1--TEST--
2Throwing into a generator yielding from an array/iterator
3--FILE--
4<?php
5
6$data = [1, 2, 3];
7
8function yielditer($arr) {
9	foreach($arr as $val) {
10		yield $val;
11	}
12}
13
14function yf($in) {
15	yield from $in;
16}
17
18function test($g) {
19	var_dump($g->current());
20	try {
21		$g->throw(new Exception("Exception!"));
22	} catch (Exception $e) {
23		echo "{$e->getMessage()}\n";
24	}
25	var_dump($g->current());
26}
27
28$yfiter = yf($data);
29$yfgen = yf(yielditer($data));
30
31test(yf($data));
32echo "\n";
33test(yf(yielditer($data)));
34
35?>
36--EXPECT--
37int(1)
38Exception!
39NULL
40
41int(1)
42Exception!
43NULL
44