Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130281 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 91D4B1A00BC for ; Mon, 9 Mar 2026 17:57:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1773079076; bh=F0b/tQ4w3ukh0xe7e2/BZf/8RE+q/wJ+QX4d/H0IXPw=; h=References:In-Reply-To:From:Date:Subject:To:From; b=MYojAgx+guzyHNeVd2wg/cVSOagIwU6Jr2N/R3+i2LfFoPeGUCYBKbEz9JEIll+Yk urCq/pR4oyORBK1jEnveWmMtZQh6ficR3HGPqh7TeC/aCRzO6eGTHeC6TQBXem9L1Y KLPbHs+h6zlEp35gE34aa97/CF0mpx0H7rAJhhFkAtgSOLNXqpSP8TOxh0b9E/vF2f 87H2w9hVNn1JOUlV5CWDUmI2SBYs9fmC88Ujn1b5nY11WhCpdv6VSOGBaKELFwxDJd uePaE/jFBO+WGZNV3ernwL9ZvaOu2sW7Hl+OM+D3YCMfyF31fGu8vzusuMh85l3lLZ u8JdiqfwNXM1Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0CCF1180059 for ; Mon, 9 Mar 2026 17:57:52 +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=2.6 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FORGED_GMAIL_RCVD,FREEMAIL_FROM,FREEMAIL_REPLY,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: No X-Envelope-From: Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) (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, 9 Mar 2026 17:57:51 +0000 (UTC) Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-89a018cbbf8so101210186d6.0 for ; Mon, 09 Mar 2026 10:57:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773079066; cv=none; d=google.com; s=arc-20240605; b=c2nhbvMYzT1f+FdLF0JsztfB4YC/ussXKXeRsb4RnEUHIRuP07V4jv7Nkr/eT+V871 nIw9CL0XCYMzDB7jnD2Hgd1uHJXQ3SZzxekDyCcIpH3IQXO5UFbwNKyxz9jeobqt6rkT h1FirsL3DmdIVrCnaoNaF1y2xugDNMRUt2GT/XLsc26+jDFP3PzSsBuiFNkVnirMBCu9 3Z2tVfdRzutykaQyOfTFzCgua73lAlCMmds9+IxDphqS1aKYbBwQ99Zp/bfYG0CcDzVf RvCwp0dji8+rKmkD1oh0QtjK9aO7YNr5uSbFvTniWlZ5sUIZh6Xw6CTX4e0JcX9gXcAn aHuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=F0b/tQ4w3ukh0xe7e2/BZf/8RE+q/wJ+QX4d/H0IXPw=; fh=RFBKMNwdsUBkXmmb8AAjYIg7L3EzMrZygiLbMB7seK8=; b=Z0DdU5Z1dqUmWnx/RYaX7Sm/72LkB70gexWIizldAM6Rcb+qV57esPH/L6DXcJidzD 43zhHGjWXsnsNTXKHh1zu3wwb1LM+o4JFXhhQSUr+KNlj0DYI/7EAOEkp0Ru054Iq7tT 3IRPBRQcw6lju7+5AfxwAZCq8DgnYJQqCYTcrJFi0bjKoYuR+vp0ZaE31fOq4JRpaLd3 aUtbEfvQRndxb5+QuU8Ey8hVCbhdBi8nV4odUTki/EwuzSYnQIJXblNItAWgnEEuEQdp xZp+ppi8zeTSgrW3BY8dOmrZITWYHHhC9v3dJQCXDro2uke3v6nTMfJgiDak5Cv/9l5w CxGQ==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773079066; x=1773683866; 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=F0b/tQ4w3ukh0xe7e2/BZf/8RE+q/wJ+QX4d/H0IXPw=; b=nlni2slyXvDZRRXMJkRFgnM1EpddgqH34QKGNqUxNKF8jI7rSAeiXfjfzcEvCuSnxC a/aqacln8oZXPfcEcvHLmy8xBKSt/3nIgu/UBHN2Nn3Rg4ut9cdv/gnMvI8HdWg95uMw DjHXIT1uLYoIqLUFXf05os2XBgXGkaXq3b23aHBAMER6wFqO450UkpKyuzsGRUiGGB4a UBa8jNbb7zQ1iJ5N5SLbP5e3PwRtw//IPybsZp3mucb+UUr+N7Ov+qGT62C16agFmkc+ SIDRm+1DAGewyDD9AwV4npvg+1MP3YMGhrz3wgrMtiiPy1QZyLYMMpPC/JTNBwC6MKpC PhFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773079066; x=1773683866; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=F0b/tQ4w3ukh0xe7e2/BZf/8RE+q/wJ+QX4d/H0IXPw=; b=m6gBN5O+X3EiP7r7aVb9HUfusm8+n/Mvp6V2eAYxRz9qKsDSJmVomwzaUrPtJ1fCRF nmY10Nrl+tvmRuVHI4Azyf6ObSBHeN8fsIwQHgHMMzxXsWk0DxIsjmHQAqWO/NToXQPo HyaH0dc7/mm6xy1NLdWLg2NX4l36o82I5dgNMWMaMkxvsQxigJS2T7crVRAnrPpQFj81 38WtS/kpOndWMf/q6mQ+9WaxtASDpu/Pz73Msox77pnz2gD8h98c2D1xQYz+qc2Ykl5u MD5YRKXA8U5LMgfRQdoQRLrdJabKcPaGPE+zNVwY2d57HlQUngqYAwbvegUzANzrojbO Kk0g== X-Gm-Message-State: AOJu0YxDrrGUZNBMA3dW8H1J2v3EurvBy64UGiLdWrhvgOyNhS4I6hGr wIztk2xRXP82glv1p9PJjmW8yEvwr/PXsrGeRcBDAB59HqZG4q5dwoH0+4pYVZLXlJa0oIEC372 6YjSFSByXDKrQiW1PhlxUbgspm65Mb0TfS/Rc X-Gm-Gg: ATEYQzxRRmcW3V9q2Jx2ma62jPrpxgAPpAnPtNFOaX1rVVq0BBmZ1lhfqRRl6IctdKb ZNXj8GTxtTCc462GuofJduLaaFZ+67S1BF0TwH8r+2LpytDtPBoVTBVIj0ZMFMxf7zJe070AeFp Ncf3dt8G8EiBHco9CBQ7gFGAZxuw6WvZBPbFN6KbHfzj9a8rLPeHGxYY1lfF6hl1wg6MU6hFtG/ 7mtXr8ERa4OJ6IxKjTf19cojRrHAXiTDZzHXarIw1BHHZZZZUQJQykRcgg0pzXcxnQjuzQpUO0B qY+fGd6BO4FmArVi2VkivFamHU5Gh2n/JckphTxdeLvjpE28hE5uSUBHKa44McA/Us3u+nKj1iF UEFq4I+Fe9e4IdGTNcPkCSIQ/j05IPQnER+Og X-Received: by 2002:ad4:5dce:0:b0:89a:99a:dcdd with SMTP id 6a1803df08f44-89a57ce6d47mr6382546d6.34.1773079065617; Mon, 09 Mar 2026 10:57:45 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 9 Mar 2026 18:57:34 +0100 X-Gm-Features: AaiRm53jnJGIWLrqgzJAPoZxHdrnOBKOvt-9sBnAZjq6E_-CDfSiKbf91QfgMYA Message-ID: Subject: [PHP-DEV] Re: [RFC] Allow Reassignment of Promoted Readonly Properties in Constructor To: PHP Internals List Content-Type: multipart/alternative; boundary="000000000000dd6b86064c9b2302" From: nicolas.grekas+php@gmail.com (Nicolas Grekas) --000000000000dd6b86064c9b2302 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le jeu. 22 janv. 2026 =C3=A0 16:33, Nicolas Grekas a =C3=A9crit : > Dear all, > > Here is a new RFC for you to consider: > https://wiki.php.net/rfc/promoted_readonly_constructor_reassign > > As a quick intro, my motivation for that RFC is that I find it quite > annoying that readonly properties play badly with CPP (constructor proper= ty > promotion). > > Doing simple processing of any argument before assigning it to a readonly > property forces opting out of CPP. > > This RFC would allow setting once a readonly property in the body of a > constructor after the property was previously (and implicitly) set using > CPP. > > This allows keeping property declarations in their compact form while > still enabling validation, normalization, or conditional initialization. > Friendly reminder about this RFC. It's been quiet for 13 days so I plan to start the vote on Thursday if there are no more concerns to the text of the proposal. Cheers, Nicolas --000000000000dd6b86064c9b2302 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Le=C2=A0jeu. 22= janv. 2026 =C3=A0=C2=A016:33, Nicolas Grekas <nicolas.grekas+php@gmail.com> a =C3=A9crit= =C2=A0:
Dear all,

Here is a=C2=A0new RFC for= you to consider:

As a quick= intro, my motivation for that RFC is that I find it quite annoying that re= adonly properties play badly with CPP (constructor property promotion).

Doing simple processing of any argument before assigning it to a= readonly property forces opting out of CPP.

This RFC would allow se= tting once a readonly property in the body of a constructor after the prope= rty was previously (and implicitly) set using CPP.

This allows= keeping property declarations in their compact form while still enabling v= alidation, normalization, or conditional initialization.


Friendly reminder about this RFC. It= 's been quiet for 13 days so I plan to start the vote on Thursday if th= ere are no more concerns to the text of the proposal.

<= div>Cheers,
Nicolas
--000000000000dd6b86064c9b2302--