vimeo/psalm

array_walk_recursive changes variable type to incorrect

オープン

#5,767 opened on 2021/05/14

 (2 件のコメント) (1 件のリアクション) (0 人の担当者)PHP (668 件のフォーク)batch import
good first issuetype providers

Repository metrics

Stars
 (5,369 個のスター)
PR merge metrics
 (PR metrics pending)

説明

I have an array array<int, array<int, int>>, that I pass to array_walk_recursive.

The first parameter in the callback function int &$id I take by reference, then I change the value to a different type. (e.g.: string) Though I define the @param-out string $id annotation, the inferred type is not what it expected.

Expected: array<int, array<int, string>> Inferred: array<array-key, mixed>

https://psalm.dev/r/097021124e

コントリビューターガイド