Re: Confusing type mismatch error messages

From: Date: Wed, 20 Sep 2017 17:09:42 +0000
Subject: Re: Confusing type mismatch error messages
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-100721@lists.php.net to get a copy of this message
> And actually, I still would be surprised to see such an error message. This happens when you annotate your function incorrectly: https://3v4l.org/CoUss On 20 Sep 2017, 19:08 +0200, Christoph M. Becker <cmbecker69@gmx.de>, wrote: > On 20.09.2017 at 18:54, Derick Rethans wrote: > > > On Wed, 20 Sep 2017, Christoph M. Becker wrote: > > > > > This issue has been filed as > > > <https://bugs.php.net/65656>, and Adam > > > submitted > > > <https://github.com/php/php-src/pull/442> to fix that, but > > > David hinted at the potential BC break, and Joe closed the PR later > > > stating that such change would require an RFC. > > > > > > In my opinion, it would be sufficient to change the error message so > > > that the canonical name of the type would be used, i.e. > > > bool and > > > int, respectively, so the message above would read: > > > > > > […] must be an instance of boolean, bool given, […] > > > > Or why not: > > > > […] must be an instance of class boolean, boolean given, […] > > > > but I guess we then need to also use "trait" or "interface" as words > > there too. > > That has been suggested by Adam, but 62 tests had to be modified, > pointing out the magnitude of this change. And actually, I still would > be surprised to see such an error message. It should not be possible to > have a class/interface with the same name as a scalar type – and > actually it is not. > > -- > Christoph M. Becker > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >

« previous php.internals (#100721) next »