1--TEST--
2Return type covariance works with generators
3--FILE--
4<?php
5interface Collection extends IteratorAggregate {
6    function getIterator(): Iterator;
7}
8
9class SomeCollection implements Collection {
10    function getIterator(): Iterator {
11        foreach ($this->data as $key => $value) {
12            yield $key => $value;
13        }
14    }
15}
16
17$some = new SomeCollection();
18var_dump($some->getIterator());
19?>
20--EXPECTF--
21object(Generator)#%d (%d) {
22}
23