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 <bobw...@hotmail.com>: > > 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 > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php