1--TEST-- 2Iterable typed properties must be accepted to by-ref array arguments 3--FILE-- 4<?php 5 6$obj = new class { 7 public ?iterable $it = null; 8}; 9 10function arr(?array &$arr) { 11 $arr = [1]; 12} 13 14arr($obj->it); 15var_dump($obj->it); 16array_shift($obj->it); 17var_dump($obj->it); 18parse_str("foo=bar", $obj->it); 19var_dump($obj->it); 20$obj->it = []; 21var_dump($obj->it); 22 23?> 24--EXPECT-- 25array(1) { 26 [0]=> 27 int(1) 28} 29array(0) { 30} 31array(1) { 32 ["foo"]=> 33 string(3) "bar" 34} 35array(0) { 36} 37