Actually,
I forgot that for proper generics implementations, collections etc. will
obviously need to specify "allowing any type". As such the introduction of
mixed is pretty much necessary.
As in class Foo<A, B> { … } $foo = new Foo<mixed, int>;
As such, I'm actually in favor of introducing it.
Bob
> Am 24.04.2020 um 14:11 schrieb Bob Weinand <[email protected]>:
>
> Hey Dan,
>
> this, I consider one of the few concepts which should never make it into PHP.
>
> In particular, the main problem with mixed is that it is a very easy "I have
> no idea how to type that properly, so just let's use mixed".
>
> And really, in general, except for some debug functions, mixed is just an
> excuse to not use proper generics. I cannot think of non-debug scenarios
> where we are juggling truly unknown types where the type is unidirectional.
> (Uni-directional means: there is no corresponding getting/forwarding function
> for an input.)
>
> Mixed is in almost every case just patching the holes in PHPs type system.
> And as such, I'd rather promote RFCs trying to properly fix the gaps in the
> type system than supporting mixed.
>
> Mixed is a hack, do not use mixed.
>
> Bob
>
> P.s.: If you want to migrate your types and have an overview of what's
> already migrated, maybe just add a comment // type-migrated before or
> similar? But that's seriously not the business of the language.
>
>> Am 20.04.2020 um 13:17 schrieb Dan Ackroyd <[email protected]>:
>>
>> Hi Internals,
>>
>> Here is an RFC for adding a 'mixed' type to the language:
>> https://wiki.php.net/rfc/mixed_type_v2
>> The RFC builds on an earlier draft by Michael Moravec.
>>
>> Part of the motivation for pursuing this RFC was my recent experience
>> in upgrading an application to PHP 7.4.
>>
>> Being able to add types to the application made the code much easier
>> to reason about, but there were places where I couldn't add type info
>> due to the lack of mixed. That made it hard to see if that piece of
>> code had been upgraded (but type info couldn't be added), or if that
>> code still needed to be upgraded.
>>
>> cheers
>> Dan
>> Ack
>>
>> --
>> PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php