--TEST-- Return type covariance works with generators --FILE-- data as $key => $value) { yield $key => $value; } } } $some = new SomeCollection(); var_dump($some->getIterator()); --EXPECTF-- Fatal error: Declaration of SomeCollection::getIterator(): Generator must be compatible with Collection::getIterator(): Iterator in %sgenerators003.php on line 6