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