Re: [RFC] Parameter No Type Variance
| From: | Niklas Keller | Date: | Sat, 26 Nov 2016 15:54:18 +0000 |
| Subject: | Re: [RFC] Parameter No Type Variance | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-97201@lists.php.net to get a copy of this message | ||
2016-11-21 12:59 GMT+01:00 Christoph M. Becker <cmbecker69@gmx.de>:
> On 21.11.2016 at 10:39, Niklas Keller wrote:
>
> > I'd like to announce a RFC to allow omitting the type declarations for
> > parameters in subclasses:
> > https://wiki.php.net/rfc/parameter-no-type-variance
> >
> > PHP doesn't currently allow variance for parameters as checking these for
> > compatibility isn't possible on compile time.
> > This limitation is caused by autoloading and doesn't allow widening the
> > accepted parameters.
> >
> > This RFC proposes to allow ommiting the type entirely in a subclass, as
> > dropping all parameter constraints is
> > always valid according to the LSP principle.
>
> Have you considered that instead of simply omitting the type
> declaration, one would have to mark the omission explicitly, to still
> get a compile time warning in case of unintended omission
>
No, not really. While we could use "mixed" there, those signatures _are_
compatible without it and shouldn't throw a warning.
Anyone else interested in the usage of "mixed" as an explicit type
declaration?