On Thu, Aug 25, 2016 at 8:12 PM, Christoph M. Becker <cmbecke...@gmx.de>
wrote:

> On 24.08.2016 at 18:45, Nikita Popov wrote:
>
> > On Aug 24, 2016 9:55 AM, "Davey Shafik" <da...@php.net> wrote:
> >>
> >> 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.
> >
> > 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.
>
> Indeed, the RFC explicitly claims:
>
> | Behavior of internal functions is not going to be changed.
>

This is correct for functions that had the correct behavior before
(everything but array functions).

I can remove that part of the change — but if we're going to change it,
doing in 7.1 rather than > 7.1 would be best.

- Davey

Reply via email to