Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Craig Francis
First, thanks Rowan (same to you Kamil), I do appreciate your thoughts on this... On 9 Nov 2023, at 20:01, Rowan Tommins wrote: > On 09/11/2023 14:58, Craig Francis wrote: >> We might as well make the PHP 9 upgrade as hard as possible, just to force a >> little bit of `strict_types=1` on

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Aleksander Machniak
On 10.11.2023 12:11, Kamil Tekiela wrote: function abc(string|int $p) {} abc(null); What should null be converted into and why? If you as a developer know then you can cast the argument to an appropriate type but on the language level, it's not really possible. So, in conclusion, we are not

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Craig Francis
On 10 Nov 2023, at 11:47, Alex Wells wrote: > It fails to correctly change the type of the variable to nullable due to the > coalescing operator. This is a bug in PHPStan, Cool, and Kamil notes that bleeding edge has fixed this, that's good... but how many developers do you think are using

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Craig Francis
On 10 Nov 2023, at 12:16, Andreas Leathley wrote: > Also note that in your example $q could be an array (leading to a fatal error > in the code)from the request data, which is why checking types thoroughly > (not just coercing them with strval) can be helpful in avoiding unexpected >

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Craig Francis
On 9 Nov 2023, at 16:08, Kamil Tekiela wrote: > Automatic casting of null to other types is a handy feature and deprecating > it brings no benefit to anyone. That's what I thought, but for some reason, casting null is deprecated only when it's provided as an argument to functions, all other

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Alex Wells
On Fri, Nov 10, 2023 at 12:47 PM Craig Francis wrote: > This will start getting Fatal Type Errors in 9.0... and finding these > "mistakes" is close to impossible (phpstan doesn't find them; psalm > requires high levels 1-3) > PHPStan does find them:

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Craig Francis
On 10 Nov 2023, at 10:54, Alex Wells wrote: > PHPStan does find them: > https://phpstan.org/r/38fc1545-2567-49b9-9937-f275dcfff6f5 It does not: https://phpstan.org/r/c533ff42-80e4-4309-9751-1ec79e359946

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Alex Wells
On Fri, Nov 10, 2023 at 1:33 PM Craig Francis wrote: > On 10 Nov 2023, at 10:54, Alex Wells wrote: > > PHPStan does find them: > https://phpstan.org/r/38fc1545-2567-49b9-9937-f275dcfff6f5 > > > > It does not: > > https://phpstan.org/r/c533ff42-80e4-4309-9751-1ec79e359946 > > It fails to

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Kamil Tekiela
You must enable bleeding edge.

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Craig Francis
On 10 Nov 2023, at 11:11, Kamil Tekiela wrote: >> That's what I thought, but for some reason, casting null is deprecated only >> when it's provided as an argument to functions, all other cases it's fine... >> weird right? > > > No, passing null to non-nullable parameters is already an error.

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Kamil Tekiela
Hi Craig, Don't get me wrong, but I have a feeling you still didn't understand fully my first message. That's what I thought, but for some reason, casting null is deprecated only > when it's provided as an argument to functions, all other cases it's > fine... weird right? > No, passing null to

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Andreas Leathley
On 10.11.23 12:33, Craig Francis wrote: On 10 Nov 2023, at 10:54, Alex Wells wrote: PHPStan does find them:https://phpstan.org/r/38fc1545-2567-49b9-9937-f275dcfff6f5 It does not: https://phpstan.org/r/c533ff42-80e4-4309-9751-1ec79e359946 Psalm does give you a PossiblyInvalidArgument

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Robert Landers
On Fri, Nov 10, 2023 at 1:33 PM Craig Francis wrote: > > On 10 Nov 2023, at 12:16, Andreas Leathley wrote: > > Also note that in your example $q could be an array (leading to a fatal > > error in the code)from the request data, which is why checking types > > thoroughly (not just coercing them

[PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Jakub Zelenka
Hello, I would like to propose a new process RFC for updates to PHP release cycle: https://wiki.php.net/rfc/release_cycle_update This has been discussed between release managers to make sure that all are happy as some of the points impact release managers (e.g. longer security support). I also

[PHP-DEV] Re: [RFC] [Discussion] Adding bcround, bcfloor and bcceil to BCMath

2023-11-10 Thread Saki Takamachi
Hi, The discussion seems to have calmed down, so I'll start voting at the beginning of next week. Regards. Saki -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php

Re: [PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Larry Garfield
On Fri, Nov 10, 2023, at 10:51 AM, Jakub Zelenka wrote: > Hello, > > I would like to propose a new process RFC for updates to PHP release cycle: > > https://wiki.php.net/rfc/release_cycle_update > > This has been discussed between release managers to make sure that all are > happy as some of the

Re: [PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Rowan Tommins
On 10 November 2023 16:51:57 GMT, Jakub Zelenka wrote: >Hello, > >I would like to propose a new process RFC for updates to PHP release cycle: > >https://wiki.php.net/rfc/release_cycle_update Hi, I started writing a suggestion that you add details to your RFC of what text we would remove or

[PHP-DEV] PHP-8.1 closed for bug fixes, security fixes only

2023-11-10 Thread Ben Ramsey
Hi, all! According to the supported versions page[^1] (and our release process documentation), active support for PHP-8.1 ends on 25 Nov 2023. Since our release cycle has a release falling on 23 Nov, this means PHP 8.1.26 is the last bug-fix release for the 8.1 series. Following PHP 8.1.26,

Re: [PHP-DEV] Passing null to parameter

2023-11-10 Thread Rowan Tommins
On 10/11/2023 11:29, Craig Francis wrote: strict_types=1 enables strict type checking While it's not exactly false, this statement is misleading in a really important way. That's not your fault, it's just that "strict_types" is, in hindsight, a really terrible name. If I had a time

Re: [PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Jakub Zelenka
Hi, On Fri, Nov 10, 2023 at 5:20 PM Larry Garfield wrote: > > * "Allow feature that do not require RFC in beta" - The description > doesn't quite sound like it's talking about "features." It's talking about > refactoring, bug fixes, edge case handling, etc. Those are certainly >

Re: [PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Larry Garfield
On Fri, Nov 10, 2023, at 2:11 PM, Jakub Zelenka wrote: > Hi, > > On Fri, Nov 10, 2023 at 5:20 PM Larry Garfield > wrote: > >> >> * "Allow feature that do not require RFC in beta" - The description >> doesn't quite sound like it's talking about "features." It's talking about >> refactoring, bug

Re: [PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Jakub Zelenka
Hi, On Fri, Nov 10, 2023 at 5:56 PM Ilija Tovilo wrote: > Hi Jakub > > Thank you for the proposal. > > On Fri, Nov 10, 2023 at 5:52 PM Jakub Zelenka wrote: > > https://wiki.php.net/rfc/release_cycle_update > > > Currently beta is called a feature freeze but effectively it isn't. The > main

Re: [PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Tim Düsterhus
Hi On 11/10/23 21:22, Jakub Zelenka wrote: - 2 alphas - think 2 are enough as each RM can try one release. - 4 betas and require that all RFC has to be merged before beta3 is released. It means we would have 2 extra betas to iron out all RFC issues and still be able to introduce ABI breaks

Re: [PHP-DEV] [RFC] [Discussion] Release cycle update

2023-11-10 Thread Ilija Tovilo
Hi Jakub Thank you for the proposal. On Fri, Nov 10, 2023 at 5:52 PM Jakub Zelenka wrote: > https://wiki.php.net/rfc/release_cycle_update > Currently beta is called a feature freeze but effectively it isn't. The main > issue with that is that the end of alpha just means that all RFC's