Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122224 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 83945 invoked from network); 22 Jan 2024 18:54:05 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 22 Jan 2024 18:54:05 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1705949688; bh=w5LahFnrY9U8ZTSD6urNAz4MJ7R9CHN85Xcg2mOCk+E=; h=In-Reply-To:References:Date:From:To:Subject:From; b=asGlmpuSkOoDwLwvc8iRFWD5RCSFN/3BJiUJRKF7b++EryYxhzROh/a6kh5xeXHH6 LTvRN8BDjNKiwg8m78KcTTxeOqJP9ePiV0PFZcyxM3PWAEIBUo4EgLna+6aahQPcJr GgI/cJpO6W38VG2tFgeC7LElZQvIxqXCIqcc9PAgsiqP1Qf/TKRmSrCeh4pg9/vm0P 5tJlNEPo1jO+5r/b4DKYdbjm4KezfUDYZ8XkGojipQdA0qJ0P+qdc1QvrIV6fRdG8o 3ANwUQ9q5sD5bukXUy2EPyLNKwFBf8QaPijKAO0XQZY1JLqPuytvRU/OsTcEaKAHFV MvEjPPD42JcQA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 6E67A180051 for ; Mon, 22 Jan 2024 10:54:47 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (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 ; Mon, 22 Jan 2024 10:54:46 -0800 (PST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 8B8675C00DA for ; Mon, 22 Jan 2024 13:54:03 -0500 (EST) Received: from imap50 ([10.202.2.100]) by compute1.internal (MEProxy); Mon, 22 Jan 2024 13:54:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-transfer-encoding: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=fm3; t=1705949643; x=1706036043; bh=8lj/X9HbmayNHkaEpE783 7O5HC3YMaSEUjSZELb9rsY=; b=BN5MxEonwVpElJyIhHuIRIGnjnz6n56XxICcX H6xeTpQNQ/VT1XCm7COR++AoboBmFLjT3HQ8FgL8vwK8OBDkW8mT4O4JQZBsbkZ6 rTfyJZOwV2KLsLizBHa45DIlG29Z7g4XFsD8+/a9LbTr6XmwMUUO86DCpBZDW9OO qTmgaNsjb+IXGPgX1HPbsCjrkYqyHBMfdPWjFAanUrt8auY/nwflRThahWPRMGeE gh8YSe+hnOqsEAme48YG6AKc3TTb5bKg1DY9OQab7dTXE7Dz7FhUgdwP3m/iUSc0 d/h9yWgSr+uontcfeIszOKOQ7ktsidjQdFygmPXYB+5uqqfzw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding: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-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1705949643; x= 1706036043; bh=8lj/X9HbmayNHkaEpE7837O5HC3YMaSEUjSZELb9rsY=; b=B B574ZvOMfA3RIgwKsA1XyKTwpfJp9rLyn/qL4VJKqnP87T/S9Aa1r8Lq5C/eSDE4 e9Xkff0RA4+ZxUIDdiVWM6W+0VJHdCz4oaSpGZHB92ak7TIuR/bppgfVoHU4qXyG 7N8orexGZP6CkHhUj67wSqb5nb7/c0LlSuBh1xgMmAf+Ms1MEOh9KZIIwXNtQHKj VDrsZaI0y1OaajxO02k7bcvBf4PAZ9wU9knVCnUigwlUBW2hxbcqGB2MWJ6+3nal QQ/lOS3QeA0o/XZheDbsYX8v2HaxBM0fu0Rzkl6+90iMZC7fOxPYxXQR2641nSb8 9ni62sYRze9b77UUovLZg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekiedgudduiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvufgtgfesthhqredtreerjeenucfhrhhomhepfdfn rghrrhihucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrd gtohhmqeenucggtffrrghtthgvrhhnpeeggeehgfetjeehgefggefhleeugefgtdejieev vdethfevgeeuudefleehvdetieenucffohhmrghinhepphhhphdrnhgvthenucevlhhush htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlrghrrhihsehgrghr fhhivghlughtvggthhdrtghomh X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 0E3CB1700093; Mon, 22 Jan 2024 13:54:03 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-119-ga8b98d1bd8-fm-20240108.001-ga8b98d1b MIME-Version: 1.0 Message-ID: <344c3e06-3822-4b20-9a6f-a58fb64929a7@app.fastmail.com> In-Reply-To: References: Date: Mon, 22 Jan 2024 18:53:42 +0000 To: "php internals" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [RFC] Deprecate implicitly nullable parameter type From: larry@garfieldtech.com ("Larry Garfield") On Mon, Jan 22, 2024, at 9:50 AM, Gina P. Banyard wrote: > Hello internals, > > M=C3=A1t=C3=A9 Kocsis and myself would like to propose deprecating imp= licitly=20 > nullable parameter types. > > The RFC is available on the wiki at the following address: > https://wiki.php.net/rfc/deprecate-implicitly-nullable-types > > > Best regards, > > Gina P. Banyard I am in support of this change. My only concern is timeline. This RFC = would deprecate it in 8.4, and presumably support would be removed in 9.= 0. While we haven't discussed a timeline for 9.0, historically the patt= ern is every 5 years, which would put 9.0 after 8.4, which means only on= e year of deprecation notices for this change. Given the massive amount of code that built up between 5.1 and 7.1, and = 7.1 and today, I worry that a year won't be enough time for legacy code = to clean up and it would be another "OMG you broke everything you evil I= nternals !" like the "undefined is now warning" chang= es in 8.0. (In both cases, well-written code any time from the past dec= ade has no issue but well-written code is seemingly the minority.) The RFC notes that PHPStan and friends have an easy flag to make the cha= nge, which is great, but still that's a minority of PHP devs that even k= now to use static analysis. The only solution I can think of is to keep the deprecation in place unt= il PHP 10, but that's a very long time from now and the RFC says this si= mplifies a decent amount of engine code, so I'm not wild about that idea= . I am open to alternate suggestions for how we can make this transitio= n more graceful. Again, fully support the change, I just want to make sure it's graceful. --Larry Garfield