Psalm
Get started
Documentation
Paid support
Plugins
Blog
GitHub
<?php declare(strict_types=1); /** * @return SplFixedArray<int> */ function getTraversable(): SplFixedArray { return SplFixedArray::fromArray([1, 2, 3]); } /** * @template A * @template B * * @param iterable<mixed, A> $lhs * @param iterable<mixed, B> $rhs * @return SplFixedArray<A|B> */ function mergeIterable(iterable $lhs, iterable $rhs): SplFixedArray { return SplFixedArray::fromArray([...$lhs, ...$rhs]); } // Expected SplFixedArray<int>, actual SplFixedArray<mixed> $_merged_iterable = mergeIterable(getTraversable(), getTraversable()); /** @psalm-trace $_merged_iterable */;
Snippet created on June 17 2022 at 09:16 UTC
Settings
Get link