diff --git a/tests/Template/ClassTemplateExtendsTest.php b/tests/Template/ClassTemplateExtendsTest.php index 8fcba0c578b..e45b3248cfa 100644 --- a/tests/Template/ClassTemplateExtendsTest.php +++ b/tests/Template/ClassTemplateExtendsTest.php @@ -678,6 +678,9 @@ function getFooCollection() : Collection { */ class Collection1 extends ArrayIterator{} + /** + * @psalm-suppress MissingTemplateParam + */ class Collection2 extends Collection1{} class Collection3 extends Collection2{} @@ -1371,6 +1374,8 @@ public function add($t) : void; /** * @template T + * + * @psalm-suppress MissingTemplateParam */ class C implements I { /** @var array */ @@ -1410,6 +1415,8 @@ public function add($t) : void; /** * @template T2 + * + * @psalm-suppress MissingTemplateParam */ class C implements I { /** @var array */ @@ -2058,9 +2065,17 @@ interface ICollection extends \IteratorAggregate { public function getIterator(); } + /** + * @template TKey as array-key + * @template TValue + * @implements ICollection + */ class Collection implements ICollection { - /** @var array */ + /** @var array */ private $data; + /** + * @param array $data + */ public function __construct(array $data) { $this->data = $data; } @@ -2069,7 +2084,6 @@ public function getIterator(): \Traversable { } } - /** @var ICollection */ $c = new Collection(["a" => 1]); foreach ($c->getIterator() as $k => $v) { atan($v); strlen($k); }', @@ -2232,6 +2246,11 @@ public function getAnother() { } } + /** + * @template TT + * + * @extends Container + */ class MyContainer extends Container {} $a = (new MyContainer("hello"))->getAnother();', @@ -2607,6 +2626,9 @@ public function get($t) { } } + /** + * @psalm-suppress MissingTemplateParam + */ class AChild extends A { /** * @template T3 @@ -3706,6 +3728,9 @@ interface Templated { public function foo(); } + /** + * @psalm-suppress MissingTemplateParam + */ class Concrete implements Templated { private array $t;