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 <dan...@basereality.com>:
> 
> 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

Reply via email to