Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128291 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 1C91B1A00BC for ; Tue, 29 Jul 2025 09:15:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1753780408; bh=C0RP7PWJNA0B+msjztQ3FrbJCH7K777ij0xU2XgPfTE=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From; b=HrsqjhsKpEZ+zrl4mhSXdD6BEtP7ixxCrLghTJ82lZT9eufyjYsvYMuHBol2GFQ7+ QPVn426PXWKsOCX4/ECch7wHVT+M/AA9bEWj7mDxmJTJIVXvigTyPMwHTBI7myLKc1 DQQ/ZWPxdFjtVUEoCGOPw7lXWTWoGUcDAJMk5NKCNTzDItHeBvg1vwhRv/cXOpTILB 0T/+zrRhmw3IeMKtROQOpqIDF6Cew7ZDltRX9dwe1AKnsO/MTtYx4nadcoxLBC1y5R zyZI8dq5noJq01ARNH9SNoTHkQYEy9K9rr/pWfjmQoWBANV9yGVXkeVSkauUqdz6wJ 7x9SJTt+oKKAg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9DDDB18003B for ; Tue, 29 Jul 2025 09:13:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,HTML_MESSAGE, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from fhigh-a8-smtp.messagingengine.com (fhigh-a8-smtp.messagingengine.com [103.168.172.159]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 29 Jul 2025 09:13:25 +0000 (UTC) Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfhigh.phl.internal (Postfix) with ESMTP id 9CD3914001E4; Tue, 29 Jul 2025 05:15:07 -0400 (EDT) Received: from phl-imap-05 ([10.202.2.95]) by phl-compute-05.internal (MEProxy); Tue, 29 Jul 2025 05:15:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bottled.codes; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm1; t=1753780507; x= 1753866907; bh=SPdEkMvDg+dEkGevJLUxyuP+Bi1L0RRrBgzfkgC1SGw=; b=M x3zxhZKab4Eup6xWp4jQj9lFqYpxIMaLoLtNJv4HlPucFO2awXZT0ij/Xow9G6As jhDdOofSPEche9G5HfkFzgeB9p19LpfepGJSNqknQp96wdHAiScrEbVLe3Bzn+3j 0Bdh2AWKw3Yeb4izSDEA8H90FBramk0X3abUJtxtOplUqgIYr7fSCyRzQxb7VQIk Ta8EwUCsRAcYPNYYrf0pMlEARiwOXpKWbSE2PMbnmmDo1ZhbXgyqOi0Hq1MJSQac 3ghgscf71jVYjUVfFS4tojra+Q2EijnaYjo6lLtUIGPiBrVYGZEylkNa7+XMxOph Nrite8ZP9UKNV6vAieYrg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1753780507; x=1753866907; bh=SPdEkMvDg+dEkGevJLUxyuP+Bi1L0RRrBgz fkgC1SGw=; b=jhH9Ec39wgOij7R9dz32WfjWWmldruAD9dN6NigMQdBBtQcwHoi QHtw09JJsgVsZUPtlUkX8UJVKHS7q1xLbswJGbflC/YpXQ7bJtuyaKF4GCZheldb tmRvSf1Af76iI01JYrmaOxWSnEs9KSs1KV5UW+Iw0zd1qYneubJcBTQuGy1BpRjw /6IRBE4z/1c3EI69OnMRckkNsbMFqbOCFNfGtztE57aXfgK1sCYHqIvTIfH1GErW oVYXFHyjlHpFwCkdlGevzwGd8yeZMec8jfxkS20rm8h6c1h0nkkO8pRpXKcba8qE Bj3bpMQTNIHFa+UxLwE/fv9e3tnxzOgxfSw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdelgeeijecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefoggffhffvvefkjghfufgtsegrtderreertdejnecuhfhrohhmpedftfhosgcunfgr nhguvghrshdfuceorhhosgessghothhtlhgvugdrtghouggvsheqnecuggftrfgrthhtvg hrnhepieeuteehvddvfeejhffgieehleehhedthfefkeejffelgfevvdekudetjeejtddt necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprhhosg essghothhtlhgvugdrtghouggvshdpnhgspghrtghpthhtohepfedpmhhouggvpehsmhht phhouhhtpdhrtghpthhtohepthhovhhilhhordhilhhijhgrsehgmhgrihhlrdgtohhmpd hrtghpthhtohepihhnthgvrhhnrghlshesghhpsgdrmhhovgdprhgtphhtthhopehinhht vghrnhgrlhhssehlihhsthhsrdhphhhprdhnvght X-ME-Proxy: Feedback-ID: ifab94697:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 1E31A1820074; Tue, 29 Jul 2025 05:15:07 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 X-ThreadId: T699cdebae00e1fd4 Date: Tue, 29 Jul 2025 11:14:46 +0200 To: "Gina P. Banyard" , "Ilija Tovilo" Cc: "PHP internals" Message-ID: <2338ef4d-e9d3-4b16-9b52-8d343976d06d@app.fastmail.com> In-Reply-To: <-EPNf2A21qLIrIyEvNmQxV_tNTa1IO5hU-LHGBhjfnVRB33qiwK3yhVV7AxDKSTDUl9ihRpapZLckSgnCn7t9RvUj9Jbtjnx1VLYqCQO6BI=@gpb.moe> References: <3b303d303708b13a2de81dc07753da3a@bastelstu.be> <-EPNf2A21qLIrIyEvNmQxV_tNTa1IO5hU-LHGBhjfnVRB33qiwK3yhVV7AxDKSTDUl9ihRpapZLckSgnCn7t9RvUj9Jbtjnx1VLYqCQO6BI=@gpb.moe> Subject: Re: [PHP-DEV] [RFC] Warnings for PHP 8.5 Content-Type: multipart/alternative; boundary=3905c80bfbfa48e1903e1a1c0ddb2b0d From: rob@bottled.codes ("Rob Landers") --3905c80bfbfa48e1903e1a1c0ddb2b0d Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Tue, Jul 29, 2025, at 11:01, Gina P. Banyard wrote: > On Monday, 28 July 2025 at 19:08, Ilija Tovilo wrote: >=20 > > Hi Gina > >=20 > > On Mon, Jul 28, 2025 at 7:15=E2=80=AFPM Gina P. Banyard internals@gp= b.moe wrote: > >=20 > > > I find it increasingly frustrating that trying to make PHP not be = completely insane is met with resistance at every turn, > > > and I'm once more at the stage that I really should stop wasting m= y time and caring about PHP and do something better with my life. > >=20 > >=20 > > I appreciate all the work you have put into PHP. However, I don't > > think threatening to quit PHP over disagreements (which is not the > > first time either, I believe) creates a healthy environment for > > discussion. Internals should not fear voicing their concerns. I also > > believe the concern is not technical, and this would have no trouble > > passing in the next version. > >=20 > > Ilija >=20 > Hi Ilija, >=20 > Let's take a breath and review what's going on. >=20 > My original proposal was to warn when type juggling NAN, as this is un= expected=20 > behaviour, and this was discussed on the mailing list. Then, just this > Saturday, Claude pointed out that INF also has this problem (casting I= NF to int > produces zero, which is even more clearly a problem). After confirmin= g this > and thinking about it, I wanted to modify my existing wording to accou= nt for > this edge case; doing so would have resulted in very convoluted langua= ge, > however, so instead I added the new proposal to make it clear this is = a closely > related but even more narrow change. >=20 > This is the highest possible bar that I have set: adding the new edge = case as a > secondary vote would have been completely justified, and this would re= quire a > smaller majority of a vote. If I was worried about a procedural spann= er in the > works, I could have just shoehorned this minor change into the existin= g text > and this would also have been completely justified. I made the change= s in the > clearest possible way for the benefit of people reading the wiki. >=20 > I will now open the vote as-is, anyone is free to convince people to s= imply > vote against it, or do the most procedurally correct thing of starting= an RFC > to render it void after the fact (regardless of the outcome of this vo= te). >=20 > Regarding the suggestion to simply kick the can down the road to the n= ext > version: we do not know if the next version will be 9.0, which if the = same > request is made about deprecation as 8.0 had, this would mean the warn= ing for > this could not be introduced until 9.1, and then it could only be upgr= aded to > an error by PHP 10.0. This seems like a disproportionate amount of ext= ra work > for such a minor change. >=20 > I agree it is important for internals to voice their concerns. I am s= imply > upset that a very minor *procedural* disagreement is once again incent= ivising > me to smuggle in common-sense changes through procedural back doors ra= ther than > write my proposals clearly. This seems like a clearly positive and mi= nor > change; anyone who disagrees on *technical* grounds can vote no, and i= f the > procedural issue really is so important, there is a recourse available= for > this. Having to fight these kinds of battles over my work to improve = the > language is needlessly taxing, and this too is a form of unhealthy env= ironment. >=20 >=20 > Best regards, >=20 > Gina P. Banyard I am not sure that (int)"INF" or (int)"NAN" is misbehaving. (int)"Passwo= rd" also produces `0`, and these are strings. If we had the time to disc= uss it properly, I would argue that simply warning when casting a string= to int is the most sensible thing, just like we get an error when coerc= ing a string to int, which is more consistent across the language than j= ust special casing some strings. =E2=80=94 Rob --3905c80bfbfa48e1903e1a1c0ddb2b0d Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
On Tue, Jul = 29, 2025, at 11:01, Gina P. Banyard wrote:
On Monday, 28 July 2025 at 19:08, Ilija Tovi= lo <tovilo.ilija@gmail.com<= /a>> wrote:

> On Mon, Jul 28, 2025 at 7:15=E2=80=AFPM Gina P. Banyard=  internals@gpb.moe wrote:<= /div>
> > I find it increasingly frustrat= ing that trying to make PHP not be completely insane is met with resista= nce at every turn,
> > and I'm once more at the stage th= at I really should stop wasting my time and caring about PHP and do some= thing better with my life.
> I appreciate all the work you have put into PHP. However, I = don't
> think threatening to quit PHP over disagreements (w= hich is not the
> first time either, I believe) creates a h= ealthy environment for
> discussion. Internals should not f= ear voicing their concerns. I also
> believe the concern is= not technical, and this would have no trouble
> passing in= the next version.
> Ilija
<= br>
Hi Ilija,

Let's take a breath and= review what's going on.

My original proposal w= as to warn when type juggling NAN, as this is unexpected 
behaviour, and this was discussed on the mailing list.  Then, just= this
Saturday, Claude pointed out that INF also has this prob= lem (casting INF to int
produces zero, which is even more clea= rly a problem).  After confirming this
and thinking about= it, I wanted to modify my existing wording to account for
thi= s edge case; doing so would have resulted in very convoluted language,
however, so instead I added the new proposal to make it clear t= his is a closely
related but even more narrow change.

This is the highest possible bar that I have set: addin= g the new edge case as a
secondary vote would have been comple= tely justified, and this would require a
smaller majority of a= vote.  If I was worried about a procedural spanner in the
works, I could have just shoehorned this minor change into the existin= g text
and this would also have been completely justified.&nbs= p; I made the changes in the
clearest possible way for the ben= efit of people reading the wiki.

I will now ope= n the vote as-is, anyone is free to convince people to simply
= vote against it, or do the most procedurally correct thing of starting a= n RFC
to render it void after the fact (regardless of the outc= ome of this vote).

Regarding the suggestion to = simply kick the can down the road to the next
version: we do n= ot know if the next version will be 9.0, which if the same
req= uest is made about deprecation as 8.0 had, this would mean the warning f= or
this could not be introduced until 9.1, and then it could o= nly be upgraded to
an error by PHP 10.0. This seems like a dis= proportionate amount of extra work
for such a minor change.

I agree it is important for internals to voice th= eir concerns.  I am simply
upset that a very minor *proce= dural* disagreement is once again incentivising
me to smuggle = in common-sense changes through procedural back doors rather than
<= div>write my proposals clearly.  This seems like a clearly positive= and minor
change; anyone who disagrees on *technical* grounds= can vote no, and if the
procedural issue really is so importa= nt, there is a recourse available for
this.  Having to fi= ght these kinds of battles over my work to improve the
languag= e is needlessly taxing, and this too is a form of unhealthy environment.=


Best regards,

Gina P. Banyard

I am n= ot sure that (int)"INF" or (int)"NAN" is misbehaving. (int)"Password" al= so produces `0`, and these are strings. If we had the time to discuss it= properly, I would argue that simply warning when casting a string to in= t is the most sensible thing, just like we get an error when coercing a = string to int, which is more consistent across the language than just sp= ecial casing some strings.

= =E2=80=94 Rob
--3905c80bfbfa48e1903e1a1c0ddb2b0d--