FYI, it is also noted in the [UPGRADING][1] file:
> - Core:
> . The iterable type is now a built-in compile time alias for
> array|Traversable.
>Error messages relating to iterable will therefore now use
> array|Traversable.
>Type Reflection is preserved for single iterable (and
>
> > That's a intentional behaviour change and related to this accepted PHP
> 8.2 RFC: https://wiki.php.net/rfc/iterator_xyz_accept_array
> >
> > Smile,
> > Juliette
>
> It is rather related the following RFC:
>
> https://wiki.php.net/rfc/dnf_types
>
> The change was discussed in this thread:
>
>
> Le 2 nov. 2022 à 19:54, Juliette Reinders Folmer
> a écrit :
>
> On 2-11-2022 18:46, Benjamin Morel wrote:
>> Hi internals,
>>
>> It just came to my attention that there is a change of behaviour between
>> PHP 8.1 and 8.2 in the way iterable is decomposed, or not, into
>>
On 2-11-2022 18:46, Benjamin Morel wrote:
Hi internals,
It just came to my attention that there is a change of behaviour between
PHP 8.1 and 8.2 in the way iterable is decomposed, or not, into
Traversable|array when reflected:
```
function foo(): iterable {}
function bar(): stdClass|iterable
Hi internals,
It just came to my attention that there is a change of behaviour between
PHP 8.1 and 8.2 in the way iterable is decomposed, or not, into
Traversable|array when reflected:
```
function foo(): iterable {}
function bar(): stdClass|iterable {}
echo (new