Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122263 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 20457 invoked from network); 30 Jan 2024 09:15:03 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 30 Jan 2024 09:15:03 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1706606150; bh=81L1piz0Ftxcz1UZ3FxXTZD8mURohwD7a7JkQ6GvwvM=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=jlxJYmRca0Bzk30zfFj5riOdQRtIVqVVsZeQQViOATB71DbYl74sNg4NAfEAV8mS6 HOfrFjL6f+dNXXLEdeRScU4v9NcKDAnp0Z+gK80pB+1bm79CqPSLePcHl7g3Tt+BwE YoTKVqBD9ApsrXV88qfTObh7j3Uo9hIpt6Eu14ZpTd7dyw7TN/5emA0cUd4Bf85zc4 H5J85vfWhx9NJfc5c5duF/uFArNjn9rvbTZ3HHlqdWDH8jViNaq32LDyym8d8lUV1E /UNVgHYm8fB1STOuYWrA0t+222jtu3GyIFrdUIWmfn1v9ywqwhegte5pCkUUBT5E9t 0hwPYidj7l7cw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 2EEA418006A for ; Tue, 30 Jan 2024 01:15:50 -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=-1.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (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, 30 Jan 2024 01:15:49 -0800 (PST) Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-511206d1c89so28188e87.1 for ; Tue, 30 Jan 2024 01:15:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706606100; x=1707210900; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=81L1piz0Ftxcz1UZ3FxXTZD8mURohwD7a7JkQ6GvwvM=; b=MTkA2F3VdRM6gjkQaoxf+h/99qIgzMvcldq5hygxJlEZLPnOBApc9o+vGq32S8ZJl5 NCGwKaUXtQH+mM0lUCgB9d92jsyp5ZChV2jXOSJHFifJLpxwZTPDpaOjmbdqZazCesUR WimEBE2CJKiIjyIwTj5j8UIHFGB5JPF14jDktlj4xVrJBgoJeK5ZG85jOlR0evCrdPzE 7//lDTQg9wGP/w0c/GjJuNMoMJ2bWxgc7ueWVmvJ8zozVyNfdH+SX5psmWcvRmi1xS09 VCavoQL8AU3yL76Vn26BviQ2ykYI4zF2a96ddfguYsvkE/VhcGXoUdQmCQrQaKmZ8gsk WbSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706606100; x=1707210900; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=81L1piz0Ftxcz1UZ3FxXTZD8mURohwD7a7JkQ6GvwvM=; b=u9sJVoOFDZq00QdkxaCSlhMNIr1G/6vRaa0W/eZ5RwXdqzgFmhS4VSgdoPnuIOkhM+ m+PetAnL1+uSATxOWJDnshdD42RoShBoy5nPE1fsGVps/JzQv+zuEZYw6GsdL1zQ9jYQ Y/BPNofT7NhL0G0/Yn7oaWR8pkTu/00PKYvOQSPhOtT6isnihkr4WYyll+JU7tBe9cQm xcgTqAAmFxtjuTqSG0RLbV/CITmgQrOxqJjSw0lb37RmtFMuPsFskJ4MvXXrrmBqCJ6v +tDpQqcl2LUJIVBs4rD7uUlI71UFKhHuT4sWcjsIDNIForvPIcQB1CVqUWZnXC1lJXoM R/Iw== X-Gm-Message-State: AOJu0YzwgV/48jf3LSetdnpkt81mo3NmrkyBGhc3EBlbndQFR0wDjM2g rlk2W3uIwlo1T5nWhsIbbncwirg3u56up2m8TAbTgBQZBKAFNVp2gheg3rMCkYZSXTn8KzUJNms JYCBmthRb8uF/Njj8khHsequt6kM= X-Google-Smtp-Source: AGHT+IGspvQqVINHbM8Xw5zy9QAmJupVcMl7m6BF0Z6yMbz4gvORWg2O8c6oxPu9c6rQlr4IFJp+6aUpwnkGiku/j6s= X-Received: by 2002:ac2:4e08:0:b0:50e:769b:7164 with SMTP id e8-20020ac24e08000000b0050e769b7164mr5341099lfr.59.1706606100066; Tue, 30 Jan 2024 01:15:00 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 30 Jan 2024 10:14:46 +0100 Message-ID: To: "Gina P. Banyard" Cc: PHP internals Content-Type: multipart/alternative; boundary="0000000000005db6ca0610263283" Subject: Re: [PHP-DEV] [RFC] Deprecate implicitly nullable parameter type From: nicolas.grekas+php@gmail.com (Nicolas Grekas) --0000000000005db6ca0610263283 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Gina, M=C3=A1t=C3=A9 M=C3=A1t=C3=A9 Kocsis and myself would like to propose deprecating implicit= ly > nullable parameter types. > > The RFC is available on the wiki at the following address: > https://wiki.php.net/rfc/deprecate-implicitly-nullable-types > Thanks for the RFC. I have the same concerns as Larry but I don't have any ideas on how to make the migration more seamless, so personally I'm fine with deprecating in 8.4 and dropping in 9.0. For the record, Symfony was using the reverse rule (removing the nullable flag when the default was null already). This was done to reduce the overall visual debt=E2=84=A2, but the arguments in favor of your proposal a= re sound. I ran php-cs-fixer on the codebase, you can see the patch here: https://github.com/symfony/symfony/pull/53612 TL;DR, this is a +/- 2000 lines change that's quite easy to do. I think the RFC is missing some impact analysis BTW, just to be sure voters can look at some data to make a best informed decision. There's one catch-22, which is that I had to manually fix non-optional arguments with default values (as a reminder, they're deprecated too): https://github.com/symfony/symfony/pull/53612/commits/fb9fa26102512090550f9= 137751f81677c06d5f9 Fixing them can be automated too but this is still a separate code transformation. I think this should be mentioned in the RFC. The impact on the ecosystem is going to be significant for sure, especially because of the previous CS of Symfony. But at least the transition has already started since we merged this in our oldest maintained version. Cheers, Nicolas --0000000000005db6ca0610263283--