Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128167 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 8E6F31A00BC for ; Mon, 21 Jul 2025 18:32:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1753122615; bh=QqgyUFJYsvny2zB3NJx9VOzTTfSOXcWVkYlDxeIUrEQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Pp3KHefsMm6BOCJcbzxY1Jr7qgWdd2klPHAow4sMl28KWR4PnTLlmBpFsGizrUSXm +bwIpo6lc6haM3hmQE4Vo3zDLFxgQml8RHKmPAmiG1n2t1WZ1s9TnbioNTZB9h/t0w hgNyrsZotrayXF/efT5PSQwUicnDH/U6YPa+9g9da+FlK2+Juz1dYe7dMYg2zonVMJ 2msgOvDAbd3/LGp+Jk0DsusqPl7ePPNq9U7bBOblTYWzVNaaopw8Cn6LMgsOA+j/cr C587OU7SmM8eNQ1woqPBDWD7IqBhZJlKOITGCb0XUn6xdGKQakdo2ZmLud2/EPpB8t RYQLmPkMrRx8g== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id D445A18005B for ; Mon, 21 Jul 2025 18:30:14 +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=-3.1 required=5.0 tests=BAYES_00,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.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) (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, 21 Jul 2025 18:30:14 +0000 (UTC) Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-4ab81d0169cso64279601cf.2 for ; Mon, 21 Jul 2025 11:32:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753122719; x=1753727519; 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=QqgyUFJYsvny2zB3NJx9VOzTTfSOXcWVkYlDxeIUrEQ=; b=gasTnML3J1qwF5iPjrBQSNYPHXYaoJpJ+zsLpAnHFYavh19XyAqeSDTh8B4ATdGtFo 8NC5ul9yu3kAoL3DFXmzRYUsTsXgMLD5zCmnLSEkKqd3lc4vo4P49GfftMkuvIipF7GS eox3/D2Xi4bogxDnQHQCCTM8C6OmtzpD7zobkMae6yqhmyDfo2TubzHl9zlnMtSS1uge 0SzT0uPx3oj0x4+UCif8I5wHKB/Q9dr7OM8s5mE7Wbk8OZn83LWfIQbhQRgYrwWffV0C 8LkQrAigHXOv9aCXtZVTzpsRkNDFFzjLnEXjekB0xGdMrkLJL8D7MQ2Z89FNcfu8HE8T r3dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753122719; x=1753727519; 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=QqgyUFJYsvny2zB3NJx9VOzTTfSOXcWVkYlDxeIUrEQ=; b=S/NkotzOtmOrtHFUezF0rN1iEEAXt2d8kS/myFIMYesgcBQXsrT3nsW4cn3mhB6EYD I9vZ1I50jwv/q/3bV2LqfG7gydfw7yC3t1LAsKbmFsWFcFEJpHFDT4Jztgz0zLlF8HG3 BCHSu1Ij3HdnH8dczY5tvWYmUQxWTFOIzVm9JaUuxrbY7AviPY3mrzCgZ3KbkUoUcFgl meDaoGCwGAAWi201fipo5KdFpJxp+bopxXCblMQ8BLOw4j5m+YK5QfFlAqR14DFzXGt1 a31xO4YySwPXB48NLuu8bGU05D5K24U2fg/3g/rM0vbIOwGyKVrdV8LTgebB98udJDCu tbkw== X-Gm-Message-State: AOJu0Yyj8KoFnR0OMHUGY9WQ6LxNk/BZtV7ZQgnDi9j+t8MdI9U/GLXv C/DMRU96qY2z+mcOOCS50a3ck8QicaBqqvZiNFfRIU4j4y6iOrfQ7zsasX5XL7EDt8txmTlSsLf YkWmH/LKiFGlAT4K1bN2RolzHTHMm9Mc= X-Gm-Gg: ASbGnctQIiUL4bsn0gPYiCGZT4mbqWl30kovMfdiyw6hHbKgrNrozT/1iJDdzAVaDVW m/C1noLctES5aqB7LmkaV/KjLazPYNR1hobwufiDykFPJOXq1QD2DhxnWYXJuqlOtpHXXeWhKiB 9vhuWCJRf4JzrLyrlSbaHEqMxVjUEAifqkPhWSTYKHJe1hCyHfemGNqx1wVoLYs41vn/55eMkT1 dM61vs= X-Google-Smtp-Source: AGHT+IF3vgm3x7eblj82K3leGkIdOKditgbSsz1+7NpZXYaC2IkZwi57s+56bRbEv17OMKofRckynaKYn4FZ6/Be/uY= X-Received: by 2002:a05:6214:2a4f:b0:704:c5b8:fb30 with SMTP id 6a1803df08f44-704f4b123e1mr296567746d6.44.1753122719302; Mon, 21 Jul 2025 11:31:59 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 21 Jul 2025 20:31:47 +0200 X-Gm-Features: Ac12FXzjV8L3Ib1jb7Z7MPL0OLeMLHMoqbM3cHoOBnO0KVGAyMZPoNf5VAhLDX4 Message-ID: Subject: Re: [PHP-DEV] Re: [VOTE] RFC: #[\DelayedTargetValidation] attribute To: Daniel Scherzer Cc: php internals Content-Type: multipart/alternative; boundary="000000000000ee8bb3063a74b03c" From: nicolas.grekas+php@gmail.com (Nicolas Grekas) --000000000000ee8bb3063a74b03c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le lun. 21 juil. 2025 =C3=A0 20:23, Daniel Scherzer a =C3=A9crit : > On Thu, Jul 17, 2025 at 9:21=E2=80=AFAM Daniel Scherzer < > daniel.e.scherzer@gmail.com> wrote: > >> Hi internals, >> >> Voting is now open for this RFC. >> >> * RFC: https://wiki.php.net/rfc/delayedtargetvalidation_attribute >> * Discussion thread: https://externals.io/message/127702 >> >> Voting will end 2025-07-31 at end-of-day UTC. >> >> -Daniel >> > > For those who are still debating how to vote, or who voted no, I want to > highlight the "Extend #[\Override] to target properties" RFC currently in > voting as an example of a use case. See > https://wiki.php.net/rfc/override_properties. > > Specifically, if we had already added #[\DelayedTargetValidation] as part > of 8.4, and that other RFC passes, there would have been a place to use i= t > - on class properties in code that supports 8.4 and 8.5 but wants to > indicate that the property overrides a parent property. Fundamentally, > #[\DelayedTargetValidation] needs to be introduced *before* it is useful, > because it is designed for supporting attributes that change in future > versions of PHP. Introducing it in 8.5 might not help for #[\Override] on > property, but it would help for any attribute changes in 8.6+, e.g. if > #[\Override] starts to support class constants. > I voted in favor of the RFC precisely because of this capability, which is very much needed in code bases I deal with. Not having this will force us, authors, to create workarounds based on eg @annotations. Worst is that these workarounds will have to remain for a never ending amount of time as new attributes are introduced to the engine. Nicolas > --000000000000ee8bb3063a74b03c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable



Le lun. 21 juil. 202= 5 =C3=A0 20:23, Daniel Scherzer <daniel.e.scherzer@gmail.com> a =C3=A9crit=C2=A0:
On Thu, Jul 17, 2025 at 9:21=E2=80=AFAM Daniel Scherzer <d= aniel.e.scherzer@gmail.com> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
Hi intern= als,

Voting is now open for this RFC.

* RFC:=C2=A0https://wiki.php.net/rfc/delayedtargetvalidation_attr= ibute
* Discussion thread:=C2=A0https://externals.io/messa= ge/127702

Voting will end 2025-07-31 at end-of-day UTC.

-Daniel

For those = who are still debating how to vote, or who voted no, I want to highlight th= e "Extend #[\Override] to target properties" RFC currently in vot= ing as an example of a use case. See=C2=A0https://wiki.p= hp.net/rfc/override_properties.

Spe= cifically, if we had already added #[\DelayedTargetValidation] as part of 8= .4, and that other RFC passes, there would have been a place to use it - on= class properties in code that supports 8.4 and 8.5 but wants to indicate t= hat the property overrides a parent property. Fundamentally, #[\DelayedTarg= etValidation] needs to be introduced *before* it is useful, because it is d= esigned for supporting attributes that change in future versions of PHP. In= troducing it in 8.5 might not help for #[\Override] on property, but it wou= ld help for any attribute changes in 8.6+, e.g. if #[\Override] starts to s= upport class constants.

I voted in favor of the RFC precisely becaus= e of this capability, which is very much needed in code bases I deal with. = Not having this will force us, authors, to create workarounds based on eg @= annotations. Worst is that these workarounds will have to remain for a neve= r ending amount of time as new attributes are introduced to the engine.

Nicolas=C2=A0
--000000000000ee8bb3063a74b03c--