--TEST-- Return type covariance works with generators --FILE-- data as $key => $value) { yield $key => $value; } } } $some = new SomeCollection(); var_dump($some->getIterator()); --EXPECTF-- object(Generator)#%d (%d) { }