Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127426 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 165021A00BC for ; Thu, 22 May 2025 12:13:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1747915861; bh=u598MRzyMGYvTWNJ14HbFCC71dz7BBvd1tXUMP2lg44=; h=From:To:Subject:Date:References:In-Reply-To:From; b=jwLTj9mQ/iLbeYAwc7rJgrEBLlB+4QHBWiKpO35SVtMTutulvpcXo4Hw40HBFfYsP gHfhi078g3S9829lN8UM67UKZ9Z8eDM3ur2QdEU1uGwAWckEsKzWCxIHzMYhLAcmT7 toNEQjGtqyqNfwIDFrippRf4aplui5/zBpLpJrJ5NL2JDS2R4sw+ECMWG6UOR+f8w+ rx677GBYAjQQ7wuRCWr++NLGCO7P3P7C0t4thxn8b0Mv46S6ZMnMEgpSyKsv2L3BED 0YrUXLEu96DoYGpmzUpVFETKx4pzuQwQfUuVSkOclQyMo47qOjvKvSYjEEVQH7E7AF B+jv0U9qfQHyg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B93E718007C for ; Thu, 22 May 2025 12:11:00 +0000 (UTC) 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.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11olkn2040.outbound.protection.outlook.com [40.92.20.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 22 May 2025 12:11:00 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ECjzEYiPIdKq6VtdtIDd59SICgi1mRqVjgrYtavNUdSSGl5ILqjV0XXSKIexDQr8P5p4HLMQiY0dhK8Gbh2xSgit7L1ukLJFKkFuSc27E+2o2Ce9vE5HkiXumTFh/hhc4IldVdcP88FtNGjfZRP8/u+GQ9o3vFmsI4vZQaXy+dF60qkelu4RIq/Po+HFzXB+EXMIpac76glYvBKrHQxYUIBm91eL1iGREUz7rOEmlj9PmjboVexpk3TjL6chPkG5gvsyqcO4gmHptlmKvnylEV5ovc+5yAVgnBIWM23GHkamTGnr64EbBxbH6zlOw/mHGQlfjPp8hPket+jtGE/p8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jkY6ti2kPam3fN2MABMRkSQIw4IOeddHadceeSjolHY=; b=Z888SX6PQqmO2IoPrlLLgVvD/IEOp1jxOFQQuzFmhp8F9a+NuGL+tZ+658EvHWv6gCt+pUBlchHSZM0UZKOwQ7jFus6DaiU/4d0nV1GXjL+ohzUmvq42QkSOYfJ8JYf8NfDeZgERfY894gpK4Y6ByPU05QkTvMvcIx1FMHfdQZfZEyDtzv4/XxB69jSu/ZXmzerDEQpkYyaPqXVtIPk5V/uKUgFSvDTk5VIgGY5Gp/w5JJgHMZzRBFNX2HJgnAJtlD0bau2wGL74V5cuD1pVmOw1KzW6ItxpTraz7Cyi5A67ubZ05k4JB7XPXvJK3goNiNr6B9VP3hrP47kZPgzKXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jkY6ti2kPam3fN2MABMRkSQIw4IOeddHadceeSjolHY=; b=q/IZzdABx72+Dlq8feiy662KZt72AAZmXTcwe859TXdvyaQIqFl0l1XzxKVXsQJ0/BEWc91VcGBU/TgVfLalRFZ61iC0S/3R7zCuS7n2T8iUGc1/CiWYu9cEiz7ylire9Ou74w/uF4SO0/u5AhVvl9VHty3Vn7Cy5vfX87yx3RElPfb8EgMaRRrqUHvzfa/l9eCOybf6CLnxiIDPvASCW3ztbBL2jvo/MjtrKjIKYw3J6vygTmFewS9MEMVrWfhBSb+HMXfYQ/uWiekvB2nSZV5rKpVXcesfckhDULj2pen2wICZ9d+KqHLN4wcsGSxpiHQwTODLfNg4mcElp00eWg== Received: from BL4P223MB1364.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:5a9::14) by DS4PPF581BDA14F.NAMP223.PROD.OUTLOOK.COM (2603:10b6:f:fc00::a0) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Thu, 22 May 2025 12:13:06 +0000 Received: from BL4P223MB1364.NAMP223.PROD.OUTLOOK.COM ([fe80::2e7b:7134:b7fe:e849]) by BL4P223MB1364.NAMP223.PROD.OUTLOOK.COM ([fe80::2e7b:7134:b7fe:e849%6]) with mapi id 15.20.8769.019; Thu, 22 May 2025 12:13:06 +0000 To: Larry Garfield , php internals Subject: Re: [PHP-DEV] Re: [RFC] Clone with v2 Thread-Topic: [PHP-DEV] Re: [RFC] Clone with v2 Thread-Index: AQHbyKub/o4d+9pfyE+KjmOJcRmhMLPdI6CAgADuxwCAAHcWNg== Date: Thu, 22 May 2025 12:13:06 +0000 Message-ID: References: <2f30cae4add309021e18d0f359a1814e@bastelstu.be> <9aa91498-b224-4a46-8c7e-21ae8a9c58a7@app.fastmail.com> In-Reply-To: <9aa91498-b224-4a46-8c7e-21ae8a9c58a7@app.fastmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL4P223MB1364:EE_|DS4PPF581BDA14F:EE_ x-ms-office365-filtering-correlation-id: 3e78aff7-d9b3-43fb-0b52-08dd992a0283 x-ms-exchange-slblob-mailprops: YfhX3sd/0TV79KLUZXH6jYsApOyagGvSFYNsvHn78HE7T0/aFvjAH2u3CcJds0InlqIEyDy+49oAYqU0lXX0aSU6QeKFdaDei9jz4U1OEIngQ6kVa+BVaJLm71srj4vLcY+m5YjsaRKDdjWCe4ss/Ok99BK3bnbUja3/WPcBKd5wtp/Oh1c5QDlC74QB0jYuyEIzBRX7hRNCEj+hSNtFY3U2dfGveXhgy5WOJM7MXRYBmtKOsqR3sHqOD9gubwjHapdRY3eVD/uQXiIN4CBFZoVmbL4vKDTPTP2+0nApU5l8sjbO0rV//5kJKzLecOzhn97sNgDsQE8/GkiCrg5W+EE5soGRYCYFSKEtakd0jTTYCCkkfz3yjRWmQV4aKkjtnTM2ZWXJ1etVGA5NtVz81mZB050WWocCQkZe+ocdZGG+ZOWjJwJT53pfOMVad4txQzwjEONaEq4z/DP1f5b3RwQpFvX36NEom8R1Fut8hagXWlU+E0rQgeh31bEQflcGVv3TXJzQLjzdDOVCjAsazB2QOH8CqG7xY/L8petPrToA7XkJnuf1UKQ/jEa3WLO+l3KcEJBQTxpEWMsF/WT58acc+wiaHNkAwC9vQx9aJSP5Wp7tR+My2vjS0wPfSbKQEZvbyICqGCRaBTUvUkNRuXzSa2sxaoZ5jsO7pzLwDL2Wnsl9IFPs5ttL5VEZfHMbfk+mhmJRGtliJYVwjT4ro8rtKIFcsVhan+C5TgcHfV2bqGGHe5WhxUrWXlE6GcPw/N6sdUn4iR/jGR+E093pc5F0fKACJQR7rIeq/OGlXGc= x-microsoft-antispam: BCL:0;ARA:14566002|19110799006|15080799009|8062599006|15030799003|8060799009|7092599006|461199028|4302099013|10035399007|440099028|3412199025|102099032|1602099012; x-microsoft-antispam-message-info: =?Windows-1252?Q?Li8mR5dBwNufv2S/D4WljSEvW0Hnmbi5URIfVpgSMmd5+PDvLk/FwMuu?= =?Windows-1252?Q?XZf+EAhAFjRDXM6t4A9wzFMUiAXc9xkmtirTg7OY7g5YltLs1t0TkKr1?= =?Windows-1252?Q?RtsrPUh+PlntuNnYAFoWr80Hv34krhDnp/26QKCWYac9VSFDt2/+3Cg4?= =?Windows-1252?Q?VkUQ9Vq4f+sPGi+f38e4EkMkGN2AN8pLGLEDaP+gHHiSz5S/62MfCde7?= =?Windows-1252?Q?YX9zrozJBQk6NtAMg7Cto73CyYqD0K02SEA+7JtQ1uPDtRus04v/XBt+?= =?Windows-1252?Q?wNJwXEnkWjX5+6XVDWhy+VG03mzElQqeBf+JR3Nk5aSiUki9yLi+95wC?= =?Windows-1252?Q?JODXysZMRkQUHwpFUi9g+sJXdzny++DviDsBF2+lxviFRooSY4JpKkKQ?= =?Windows-1252?Q?nRRJf5epHlWfPztHuJkL2bvvhzXpZkOJ/HdF1/xT4rGeTMgyzeGwNo6P?= =?Windows-1252?Q?p+7YGA2SvwrtLUxs4pONtbdrYg/0xAOOjjZd70HoeUTYsvoR9bG8WgGx?= =?Windows-1252?Q?vlgjrvLnfHDXmI7TURREuizhZEh9eBlEmrEhoOjHydLijlJQ21GbTtXF?= =?Windows-1252?Q?qvBEpX2lnq6G0xkGO50yz54/Rc2lQ3l7NQbMF1g97LkRpw5hwl54rDD+?= =?Windows-1252?Q?q7xDGLPRYJ27G1qVeyhIwnW5xinbGDEIUFlPOoEMmzTnEGR0cU8rP7lf?= =?Windows-1252?Q?foTH96/7xEeWzvvsoGGDo7KbtX+HD7uT46si9yEmUa9eKdWEtyuLgDR0?= =?Windows-1252?Q?+vwUCWRwOB+QX7vv1q7kgSIiMrmlf7rQDitW/7bP22JHjFn82UhA0LlP?= =?Windows-1252?Q?t8Af+IYsvn95Z8wbtSW0P2PBJlWVCwKiTGYA5Mzi2IJVFQxgjn0Sbds5?= =?Windows-1252?Q?n8jMfBJHCACITsEuFPSmmt93DiV7heqA6FzZWZEq42Ai4xDJoWR8sdNd?= =?Windows-1252?Q?7CB+lfQxXKb0wN66RV4uFRD2+y9R10LRc9g43wWVf/1ey8mCTgggFykM?= =?Windows-1252?Q?kH1RKb9kSVj7qZKyhdBT4YQb8rLASHpaVmR2RY8tXt8w73dOdUv0RpvJ?= =?Windows-1252?Q?IB0gycqOyvkQicZmIOXdE/owF5K1u1o33SDy70i0chZFWYUxINBWL98K?= =?Windows-1252?Q?o5dAHqH4NalF92u45tZdJdJr5el5x8uCkzwadQwFjlE5FWHsHYpHZC4M?= =?Windows-1252?Q?PiVHD5kFu47JlxSsKV5gNLAmNBb7ySJ67mt6L/ZITtylGpY1nOJXNk7w?= =?Windows-1252?Q?GSvrV1HNLJEbkrMeRWQAB76tgkrg+302rTNAvKGJBIuOadTNMxNU6LY7?= =?Windows-1252?Q?5ri3o7E36JZ1/yPSByeGRQpZq9aNXOj4iiNl1ps+nNCMHibK?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?acMOZ38EOmHI5W13pH6VqIFiVKK8rC1eGWa7w/iERiUkaNPzrtUUoVhJ?= =?Windows-1252?Q?ricG8tcyrTwbeaEyguGwUtFU7fQLY16+642hwV0vWP9NEOd8GXBZbK5h?= =?Windows-1252?Q?y2AM3VorxjtzFspZPGTQR9Cob5W6GbpCeiatMyl65I4UHcTcaUfVn7nG?= =?Windows-1252?Q?v7yVY0diUaKoE5KJbNknVg55IG9fT7UBt9FskJExzYcL7le5d/ttzKkX?= =?Windows-1252?Q?nQpT8k+ivJnyh0/KvYaGxC71aGEiUPcbYvyNwR0cE9JzmzOjcd8W6Ht9?= =?Windows-1252?Q?WjMI479ns3tHELwaqxiUfb8b8eRD9ORBWUTEBKrtCvfRRFpqdURvnVo4?= =?Windows-1252?Q?j3AETEt4dzMEVYfTL39kbkq7+sti83lAW2cx34CHcYSW2dudit83sCTK?= =?Windows-1252?Q?/QlBlgH1ie44Dmv453SAeidcIoM4quH6f06IUXttPoVzk60B3kITVa20?= =?Windows-1252?Q?YIkaoq5lQ4qqgu3ZlRzEb1pRm2L6RUth4c8mjqf3rcULVoV70SP+5oe3?= =?Windows-1252?Q?K4Bd+bYKaDZuU8dClEaCfNxR1bZb5ptm2xJQ4O0ilxA8xbc1+cbV0cpM?= =?Windows-1252?Q?mup4NREpV11RAqiizh60RY7JQ2TG68TkYz/NthEfa3zJdOLdEDSHZ4Pf?= =?Windows-1252?Q?tM+NjuqY72pWkg+JVLjokPrhNVtW7PrDJ+WSbPXcD98vF+9tQLZymbjI?= =?Windows-1252?Q?7oILIdaK5govcOzVpOU03ZRwJR2tP89Lew1nB6jNN52C0e12B23b89jM?= =?Windows-1252?Q?WXNSmVyqpeLzH0D7DH5ASkG25au3Nk7S19uHPXLa1ZP3t0algZyxWndj?= =?Windows-1252?Q?8TRaq1M6eNrr5Dw2A9zzjroATTCTEo9uLYjiVKXP6Gu+GN3XMGmjxybI?= =?Windows-1252?Q?XCQqQfX8aOsy3Zy+Bpxg+fGBaNToOBH3DlrUh7kU3exb0KBsNfQLJHLf?= =?Windows-1252?Q?l7YIKun162LcLQ4zVOxtCPtWaUlUevl2tc4UD0vFhrbW73mdAkrGLkWU?= =?Windows-1252?Q?LHmbdMTKMwWJdmMqcYP8I8FJSmmFYFjha5zyqo8EPf82GG07A5SG/DVA?= =?Windows-1252?Q?eedRM4xyzMrzqpL6Xdt5zGRbcU9hDZKGoJ2qjGN2wMwdjYsBrzjVItAB?= =?Windows-1252?Q?Qz2rpZl1avoQDln1POu3tuK1BsHdUvC/eWL/j0PbREiRwScOCdTTuBhg?= =?Windows-1252?Q?LyMExSEBxMCt0zxFPr6ZbCUcYMFNdeNHovoI9/Hz8PbBAapNixfUzu8+?= =?Windows-1252?Q?kkC2PVn88gBwWEZksJTNsTVSBAB9Zv9AWVbDRQDTCN9FYjELavtQuNp5?= =?Windows-1252?Q?ggDtQLY+T4PrAW3FoOfjzOYkeHs=3D?= Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL4P223MB1364.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 3e78aff7-d9b3-43fb-0b52-08dd992a0283 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2025 12:13:06.5942 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PPF581BDA14F From: theodorejb@outlook.com (Theodore Brown) On Wed, May 21, 2025 at 23:27 Larry Garfield wrote:=0A= > On Wed, May 21, 2025, at 9:13 AM, Tim D=FCsterhus wrote:=0A= >> Am 2025-05-19 12:48, schrieb Volker Dusch:=0A= >>> We're still looking for feedback on the ...variadic approach to the=0A= >>> Syntax:=0A= >>> https://wiki.php.net/rfc/clone_with_v2#open_issues, as we only got one= =0A= >>> reply so far on the topic.=0A= >>=0A= >> ...=0A= >> *Some* property name being completely incompatible with =93clone with=94= (no=0A= >> matter how the first parameter is going to be called) is a limitation=0A= >> that should not exist, it feels like a feature that is broken by design= =0A= >> and I think I really would hate it if the documentation of this RFC=0A= >> would need a =93Caution: It is not possible to reassign a property calle= d=0A= >> '$object', due to a parameter name conflict=94.=0A= > =0A= > I completely disagree here.=A0 The __ prefix is sufficient to solve the i= ssue.=0A= > A double underscore prefix has been understood to mean "internal to PHP, = magic=0A= > here" for at least 20 years.=A0 The chances of someone having a property = called=0A= > $__object are virtually nil, and if they do, they're already treading on = naming=0A= > that's reserved for PHP's use anyway so if it breaks, it's their own faul= t.=0A= =0A= Is the __ prefix part of the current proposal? Currently the RFC examples h= ave=0A= the parameter name as simply `$object`. Even if the parameter is renamed to= =0A= `$__object`, there would still have to be a warning in the docs that it isn= 't=0A= possible to use the function to set a property named `__object`, which I ag= ree=0A= with Tim is a limitation that should not exist.=0A= =0A= For people who want to consistently use named arguments for all parameters,= =0A= (rather than all parameters except the first one) the code would look like:= =0A= =0A= $obj =3D clone(=0A= __object: $this,=0A= foo: 'bar',=0A= object: $baz,=0A= );=0A= =0A= Is this API really better than with a simple array parameter?=0A= =0A= $obj =3D clone($this, [=0A= 'foo' =3D> 'bar',=0A= 'object' =3D> $baz,=0A= ]);=0A= =0A= Using an array results in fewer lines of code, and the distinction between= =0A= the object being cloned and the properties being set is much clearer.=0A= =0A= I get that it may be annoying to quote array keys, but to me this is not=0A= as bad as the confusing variadic API. In the future PHP could get a simpler= =0A= array syntax like `[foo: 'bar']`, which would benefit far more functions th= an=0A= only `clone()`.=0A= =0A= Kind regards,=0A= Theodore=