mirror of
https://github.com/danog/psalm.git
synced 2024-11-30 04:39:00 +01:00
Fix #10460
This commit is contained in:
parent
c620f6e80d
commit
576ecd66e6
@ -216,8 +216,8 @@ final class ConstantTypeResolver
|
||||
return new TArray([Type::getArrayKey(), Type::getMixed()]);
|
||||
}
|
||||
|
||||
foreach ($spread_array->properties as $spread_array_type) {
|
||||
$properties[$auto_key++] = $spread_array_type;
|
||||
foreach ($spread_array->properties as $k => $spread_array_type) {
|
||||
$properties[is_string($k) ? $k : $auto_key++] = $spread_array_type;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
@ -1280,6 +1280,29 @@ class ArrayAssignmentTest extends TestCase
|
||||
'ignored_issues' => [],
|
||||
'php_version' => '8.1',
|
||||
],
|
||||
'constantArraySpreadWithString' => [
|
||||
'code' => '<?php
|
||||
class BaseClass {
|
||||
public const KEYS = [
|
||||
"a" => "a",
|
||||
"b" => "b",
|
||||
];
|
||||
}
|
||||
|
||||
class ChildClass extends BaseClass {
|
||||
public const A = [
|
||||
...parent::KEYS,
|
||||
"c" => "c",
|
||||
];
|
||||
}
|
||||
|
||||
$a = ChildClass::A;',
|
||||
'assertions' => [
|
||||
'$a===' => "array{a: 'a', b: 'b', c: 'c'}",
|
||||
],
|
||||
'ignored_issues' => [],
|
||||
'php_version' => '8.1',
|
||||
],
|
||||
'listPropertyAssignmentAfterIsset' => [
|
||||
'code' => '<?php
|
||||
class Collection {
|
||||
|
Loading…
Reference in New Issue
Block a user