Skip to content

[TypeDeclarationDocblocks] Widen "never[]" to "mixed[]" in generated @var array docblock - #8439

Merged
TomasVotruba merged 1 commit into
mainfrom
fix-docblock-var-never-to-mixed
Sep 2, 2026
Merged

[TypeDeclarationDocblocks] Widen "never[]" to "mixed[]" in generated @var array docblock#8439
TomasVotruba merged 1 commit into
mainfrom
fix-docblock-var-never-to-mixed

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

Empty array defaults resolved to never[] item types in DocblockVarArrayFromPropertyDefaultsRector.

Before:

private array $queryParts = [
    'select'     => [],
    'from'       => [],
    'where'      => [],
    'parameters' => [],
];

generated:

/**
 * @var array<string, never[]>
 */

never[] is not useful. Now maps never to mixed:

/**
 * @var array<string, mixed[]>
 */

https://claude.ai/code/session_01AV3g3eHaZNnT7X1CoW4Xnc

…var array docblock

Empty array defaults like "['select' => [], 'from' => []]" resolved to
"never[]" item types, producing "@var array<string, never[]>". Map never
to mixed so the docblock stays useful: "@var array<string, mixed[]>".

Claude-Session: https://claude.ai/code/session_01AV3g3eHaZNnT7X1CoW4Xnc
@TomasVotruba
TomasVotruba merged commit d66b7be into main Sep 2, 2026
44 checks passed
@TomasVotruba
TomasVotruba deleted the fix-docblock-var-never-to-mixed branch September 2, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant