1--TEST--
2Valid generator return types
3--FILE--
4<?php
5function test1() : Generator {
6    yield 1;
7}
8
9function test2() : Iterator {
10    yield 2;
11}
12
13function test3() : Traversable {
14    yield 3;
15}
16
17function test4() : mixed {
18    yield 4;
19}
20
21function test5() : object {
22    yield 5;
23}
24
25function test6() : object|callable {
26    yield 6;
27}
28
29function test7() : iterable {
30    yield 7;
31}
32
33var_dump(
34    test1(),
35    test2(),
36    test3(),
37    test4(),
38    test5(),
39    test6(),
40    test7(),
41);
42?>
43--EXPECTF--
44object(Generator)#%d (%d) {
45}
46object(Generator)#%d (%d) {
47}
48object(Generator)#%d (%d) {
49}
50object(Generator)#%d (%d) {
51}
52object(Generator)#%d (%d) {
53}
54object(Generator)#%d (%d) {
55}
56object(Generator)#%d (%d) {
57}
58