parent
be5cc71a8b
commit
8d3d1febc2
8 changed files with 96 additions and 13 deletions
@ -0,0 +1,7 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
function main(): void |
||||||
|
{ |
||||||
|
$value = std::int(1); |
||||||
|
$value[0] = 'invalid'; |
||||||
|
} |
||||||
@ -0,0 +1,8 @@ |
|||||||
|
<?php |
||||||
|
use native_types; |
||||||
|
|
||||||
|
function main(): void |
||||||
|
{ |
||||||
|
$value = false; |
||||||
|
$value[] = 'invalid'; |
||||||
|
} |
||||||
@ -0,0 +1,8 @@ |
|||||||
|
<?php |
||||||
|
use native_types; |
||||||
|
|
||||||
|
function main(): void |
||||||
|
{ |
||||||
|
$value = 1.5; |
||||||
|
$value[0] = 'invalid'; |
||||||
|
} |
||||||
@ -0,0 +1,8 @@ |
|||||||
|
<?php |
||||||
|
use native_types; |
||||||
|
|
||||||
|
function main(): void |
||||||
|
{ |
||||||
|
$value = 1; |
||||||
|
$value[] = 'invalid'; |
||||||
|
} |
||||||
@ -0,0 +1,33 @@ |
|||||||
|
--TEST-- |
||||||
|
Dynamic scalar offset writes fail instead of being silently ignored |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
|
||||||
|
function expectOffsetWriteError(mixed $value, string $label): void |
||||||
|
{ |
||||||
|
try { |
||||||
|
$value[] = 'invalid'; |
||||||
|
echo $label, ":missing-error\n"; |
||||||
|
} catch (Error $error) { |
||||||
|
echo $label, ":error\n"; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function main(): void |
||||||
|
{ |
||||||
|
expectOffsetWriteError(1, 'int'); |
||||||
|
expectOffsetWriteError(1.5, 'float'); |
||||||
|
expectOffsetWriteError(false, 'bool'); |
||||||
|
expectOffsetWriteError(new stdClass(), 'object'); |
||||||
|
|
||||||
|
$value = null; |
||||||
|
$value[] = 'valid'; |
||||||
|
echo 'null:', $value[0], "\n"; |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
int:error |
||||||
|
float:error |
||||||
|
bool:error |
||||||
|
object:error |
||||||
|
null:valid |
||||||
Loading…
Reference in new issue