Re: Confusing type mismatch error messages
| From: | Derick Rethans | Date: | Wed, 20 Sep 2017 16:54:19 +0000 |
| Subject: | Re: Confusing type mismatch error messages | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-100718@lists.php.net to get a copy of this message | ||
On Wed, 20 Sep 2017, Christoph M. Becker wrote:
> Hi everybody!
>
> If a type declaration inadvertently uses
boolean or
> integer (instead
> of bool and int, respectively),
> the error message is rather confusing:
>
> […] must be an instance of boolean, boolean given, […]
>
> 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.
cheers,
Derick