Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128166 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 12C641A00BC for ; Mon, 21 Jul 2025 18:21:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1753121981; bh=TJPUhqehjtIwZTGsaks0oUnjT9Sh+ruGd3HyorP3cBg=; h=References:In-Reply-To:From:Date:Subject:To:From; b=nsqMYQTLfBEizgwEwBQg8ODsxJLjjzBv27K71teCu8STJyyNvDKSM7AGaIvy48T3C GSp6wAa/5nTFAE0y7EXlEQeA40PzdtNhRVEtxdAE92CWVD4XKHhLGJ9BHxs8TkjC/i qzLrp+J/N1KQ8Rss/NAZMDluRd2hhkCnXXK29k++q0Z128wdI81FFo18r9HlTl6PY3 SZGH3zK0XYJnJkA08SSOTNSMRNvNRMOQboMqDl/ons4d0OqQLd+cy9frzq+Sr1Wafc asg+9h/QcSSxxTEZ10Vv2ug7I4wKboymlzFOxEKqWkbBWk0Ts3PI2s/Zxod2BONQpC 86GxLKl8Ofsyg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7060218003B for ; Mon, 21 Jul 2025 18:19:40 +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-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) (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:19:40 +0000 (UTC) Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-70e5e6ab7b8so39151197b3.1 for ; Mon, 21 Jul 2025 11:21:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753122085; x=1753726885; darn=lists.php.net; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=TJPUhqehjtIwZTGsaks0oUnjT9Sh+ruGd3HyorP3cBg=; b=Jv+j6bXhgPLyvWZ6yrJ3VPjYEuauxKQDBzkKDX56zzyL3mWMh99zQxRzhHjnQuvUQc ZoVzQ7TwS1CqiCp1lYvEZJgn9sijuNkDuANeN1LTfZiqM3n1E8GgVKCzZnodf1Jazb5K jbLq6gdQ2HgKRJ8aguEzLjUJ4xuiQFvnFQKuLmUJjZ07lk2oTIwnZ29Kj8DZvTSK7+It 5ZHRioMdTfouo0r1jNXG0YD10BZn48tVnC+Fg8Joku9jxF93CbOq4IXbLHPNc5pw9zjR TuAEFlPsIBWSkbNbRqi2wXTkGbJpqPLKAqlpdmfwrojqUev8ANKIvduTQs7clxJNWtmm MRcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753122085; x=1753726885; h=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=TJPUhqehjtIwZTGsaks0oUnjT9Sh+ruGd3HyorP3cBg=; b=UaopGL9ZW6a4z+Mhje9s2gZPKpQTO4gX8Z0MRpzFjlM680a7xUqg31VW79MkBqqHOA NeYRtrgMyzUNNHiYI2KTbrypDdwsu+BOk2HMAhGqf73DM8uDja1q6yiij3u8Jy+S9TBI 4+Rw1wSpfKl02QZKHt4XhJ7O/lfMDCtEvGKMSS1uc1SFma5RSRHYwaATUHX4Vza4DMGv 9LaMd0hsMl/UbEjgowQR0eUsd8p2Hg28KqsqsevDjvLjC79mgiQ7FO5oAFZhHQSCn1Ki GJZduK02/wGI5Sb2GU4mQajUIcicdXivfyrcY7D+vrw2z8/nLLgDEVXgwLrEtJzOJtNh oYjA== X-Gm-Message-State: AOJu0YwlCYTDq8ReYKfFl8261W652lDO0Mph/u0GdW/XpGEFDza83ycv Fxa5NevEvDmimQRLscGRa1sbXpadCkOaXceQL864pzgWlMK7oNK8w+F4FDPC0+KNoEN5Qidze0c R5PoluaoXTNg9EVpv/pxwVTKxKm8h99djrvxA X-Gm-Gg: ASbGnctiWQ+Mf1fPdii9jKW5zxFmnF7c3+TA/dLSM70hhZbW/EOsav9aYEYzATIdLna 4cDsgaOMSkIQvMi3yU0IIA7VxJ2MToQSkX3cwbVsLcm9owZGub05xfMyZkWVQCpOLXigEtNvVRO 9K+SOL2Bq7oHGCoJ/tLeuvBJ/5DltxZSqgDf5vDxEXiis6lTicZfVnOrVdStic/fhayAVikICCV pdcq1yjUVQaIXe4Rm+OhVguV90dPG6FV7INRmRqw4zuxsNm X-Google-Smtp-Source: AGHT+IGLfkTy2/sV24T0C/IU0Z6Wa4d+Ja+MuvEFcqmXpBilyXz95IlzYPAUmxyINZyPd78CEiEIOvYY0fA+oALZyNM= X-Received: by 2002:a05:690c:4d87:b0:719:5d76:74b with SMTP id 00721157ae682-7195d760e17mr154361207b3.33.1753122084710; Mon, 21 Jul 2025 11:21:24 -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 11:21:01 -0700 X-Gm-Features: Ac12FXx1P8AkRlsRcjsxkalktjAgDIW5rPOlhGLg5McluIvAtNH6ZaUwkUF_hWI Message-ID: Subject: [PHP-DEV] Re: [VOTE] RFC: #[\DelayedTargetValidation] attribute To: php internals Content-Type: multipart/alternative; boundary="0000000000001b6db4063a748b0e" From: daniel.e.scherzer@gmail.com (Daniel Scherzer) --0000000000001b6db4063a748b0e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jul 17, 2025 at 9:21=E2=80=AFAM Daniel Scherzer 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 it - 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. -Daniel --0000000000001b6db4063a748b0e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Specifically, if we had already added #[\DelayedTar= getValidation] 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 that the property overrides a parent property. Fu= ndamentally, #[\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 #[\Overri= de] on property, but it would help for any attribute changes in 8.6+, e.g. = if #[\Override] starts to support class constants.

-Daniel=C2= =A0
--0000000000001b6db4063a748b0e--