Re: Reverting "Too Few Arguments Exception" RFC
| From: | Nikita Popov | Date: | Wed, 24 Aug 2016 16:45:08 +0000 |
| Subject: | Re: Reverting "Too Few Arguments Exception" RFC | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-95433@lists.php.net to get a copy of this message | ||
On Aug 24, 2016 9:55 AM, "Davey Shafik" <davey@php.net> wrote:
>
> Hi all,
>
> Given this thread: http://externals.io/thread/233
>
> I'm not happy with the state of this going into RC1 next week, and without
> changes (such as the patch I provided), I would like to revert this change
> and leave it for 7.2.
>
> My patch will _retain_ BC for internal functions with non strict_types
> (except for the error message, which can be reconciled), and for functions
> that previously threw a TypeError, ArgumentCountError is a subclass so BC
> is preserved there also.
>
> The issue is that the array functions that do this argument count checking
> themselves and still issue a warning, regardless of strict_types.
>
> We can leave the original behavior for array functions, but they then
> differ from other internals functions.
>
> It is a BC break for userland functions (as per the RFC), throwing an
> ArgumentCountError regardless of strict_types.
>
> At this point, we _must_ come to consensus by Monday to get it into RC1
(if
> there are changes needed) or we should remove it from 7.1. Also, I would
> like someone more experienced to review my patch.
>
> - Davey
I have some trouble understanding what the issue is here. The mentioned RFC
affects only userland functions, so the non-standard behavior of some array
functions shouldn't matter.
Personally I am entirely indifferent as to what exception gets thrown when
too little arguments are passed -- this is a type of error that should not
be caught by anything but catch-all handlers.
Inability to provide a more specific exception should not be a blocker for
this, especially as this is beyond the scope of the original RFC.
Nikita