File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -6523,23 +6523,25 @@ static zend_type zend_compile_typename(
6523
6523
6524
6524
ZEND_ASSERT (list -> children == type_list -> num_types );
6525
6525
6526
- ZEND_TYPE_FULL_MASK (type ) |= _ZEND_TYPE_ARENA_BIT ;
6527
6526
/* An implicitly nullable intersection type needs to be converted to a DNF type */
6528
6527
if (force_allow_null ) {
6529
6528
zend_type intersection_type = ZEND_TYPE_INIT_NONE (0 );
6530
6529
ZEND_TYPE_SET_LIST (intersection_type , type_list );
6531
6530
ZEND_TYPE_FULL_MASK (intersection_type ) |= _ZEND_TYPE_INTERSECTION_BIT ;
6531
+ ZEND_TYPE_FULL_MASK (intersection_type ) |= _ZEND_TYPE_ARENA_BIT ;
6532
6532
6533
- zend_type_list * dnf_type_list = zend_arena_alloc (& CG (arena ), ZEND_TYPE_LIST_SIZE (list -> children ));
6533
+ zend_type_list * dnf_type_list = zend_arena_alloc (& CG (arena ), ZEND_TYPE_LIST_SIZE (1 ));
6534
6534
dnf_type_list -> num_types = 1 ;
6535
6535
dnf_type_list -> types [0 ] = intersection_type ;
6536
6536
ZEND_TYPE_SET_LIST (type , dnf_type_list );
6537
6537
/* Inform that the type list is a DNF type */
6538
6538
ZEND_TYPE_FULL_MASK (type ) |= _ZEND_TYPE_UNION_BIT ;
6539
+ ZEND_TYPE_FULL_MASK (type ) |= _ZEND_TYPE_ARENA_BIT ;
6539
6540
} else {
6540
6541
ZEND_TYPE_SET_LIST (type , type_list );
6541
6542
/* Inform that the type list is an intersection type */
6542
6543
ZEND_TYPE_FULL_MASK (type ) |= _ZEND_TYPE_INTERSECTION_BIT ;
6544
+ ZEND_TYPE_FULL_MASK (type ) |= _ZEND_TYPE_ARENA_BIT ;
6543
6545
}
6544
6546
} else {
6545
6547
type = zend_compile_single_typename (ast );
You can’t perform that action at this time.
0 commit comments