-
-
Notifications
You must be signed in to change notification settings - Fork 937
Closed
phpstan/phpstan-src
#4766Closed
Copy link
Description
Bug report
From a project I'm working on, tried to make it as simple as possible.
/** @var array<string, array<mixed>> $state */
$state = (fn()=>[])();
$state = array_map(function (array $item): array {
if (array_key_exists('type', $item) && array_key_exists('data', $item)) {
return $item;
}
return [
'type' => 'type',
'data' => $item,
];
}, $state);This is giving an error during analysis:
Anonymous function should return non-empty-array but returns non-empty-array.
I don't think this should report this error, or at the very least the error should be more descriptive...
Dumping the type of the item that's being returned gives me non-empty-array&hasOffset('data')&hasOffset('type') so it might have something to do with non-empty-array not accepting non-empty-array&hasOffset?
Code snippet that reproduces the problem
https://phpstan.org/r/4010febf-b2ab-481c-9812-a4bdd33440b1
Expected output
No error
Did PHPStan help you today? Did it make you happy in any way?
I cannot imagine living without PHPStan anymore!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels