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. The RFC has been accepted, so I don't see a reason to revert the respective changes (even though I'm still not happy with this change happening in a minor version). -- Christoph M. Becker -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php