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 @@ -1951,6 +1951,9 @@ static uint32_t assign_dim_array_result_type(
19511951 tmp |= MAY_BE_ARRAY_KEY_STRING ;
19521952 if (dim_op_type != IS_CONST ) {
19531953 // FIXME: numeric string
1954+ if (arr_type & (MAY_BE_UNDEF |MAY_BE_NULL |MAY_BE_FALSE )) {
1955+ tmp |= MAY_BE_ARRAY_PACKED ;
1956+ }
19541957 tmp |= MAY_BE_HASH_ONLY (arr_type ) ? MAY_BE_ARRAY_NUMERIC_HASH : MAY_BE_ARRAY_KEY_LONG ;
19551958 }
19561959 }
Original file line number Diff line number Diff line change 1+ --TEST--
2+ Type inference 015: ASSIGN_DIM_OP
3+ --INI--
4+ opcache.enable=1
5+ opcache.enable_cli=1
6+ opcache.optimization_level=-1
7+ --FILE--
8+ <?php
9+ function test () {
10+ for (;;) {
11+ $ x [y.y] &= 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