File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -1936,6 +1936,9 @@ static uint32_t assign_dim_array_result_type(
19361936 value_type |= MAY_BE_NULL ;
19371937 }
19381938 if (dim_op_type == IS_UNUSED ) {
1939+ if (arr_type & (MAY_BE_UNDEF |MAY_BE_NULL |MAY_BE_FALSE )) {
1940+ tmp |= MAY_BE_ARRAY_PACKED ;
1941+ }
19391942 tmp |= MAY_BE_HASH_ONLY (arr_type ) ? MAY_BE_ARRAY_NUMERIC_HASH : MAY_BE_ARRAY_KEY_LONG ;
19401943 } else {
19411944 if (dim_type & (MAY_BE_LONG |MAY_BE_FALSE |MAY_BE_TRUE |MAY_BE_RESOURCE |MAY_BE_DOUBLE )) {
Original file line number Diff line number Diff line change 1+ --TEST--
2+ Type inference 013: ASSIGN_DIM
3+ --INI--
4+ opcache.enable=1
5+ opcache.enable_cli=1
6+ opcache.optimization_level=-1
7+ --FILE--
8+ <?php
9+ function y (){
10+ for (;;){
11+ $ x [] &= y;
12+ $ x = false ;
13+ $ x ["" ] = y;
14+ }
15+ }
16+ ?>
17+ DONE
18+ --EXPECT--
19+ DONE
You can’t perform that action at this time.
0 commit comments