On Aug 24, 2016 9:55 AM, "Davey Shafik" <da...@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

Reply via email to