Description
Feature request
It would be nice, if the inferred type of
array_pad(list<string>, int, <string>)
was list<string>
instead of just array
.
Code snippet:
https://phpstan.org/r/4ea29c2e-2200-4b09-bd7f-ee631736f6fc
Even more general the following could be inferred:
array_pad(list<TypeA>, int, <TypeB>)
=> list<TypeA|TypeB>
array_pad(array<TypeA>, int, <TypeB>)
=> array<array-key, TypeA|TypeB>
array_pad(non-empty-list<TypeA>, int<1, max>, <TypeB>)
=> non-empty-list<TypeA|TypeB>
array_pad(non-empty-array<TypeA>, int<1, max>, <TypeB>)
=> non-empty-array<array-key, TypeA|TypeB>
array_pad(list<TypeA>, int<1, max>, <TypeB>)
=> non-empty-list<TypeA|TypeB>
array_pad(array<TypeA>, int<1, max>, <TypeB>)
=> non-empty-array<array-key, TypeA|TypeB>
Did PHPStan help you today? Did it make you happy in any way?
No response