Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124499 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 qa.php.net (Postfix) with ESMTPS id E387E1A00B7 for ; Thu, 18 Jul 2024 19:58:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1721332803; bh=Ah/bO65Z52ViOQE+0a9nN1Z6Qs3ESzhDi8mgqUpMh1s=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=CHZj7wclkcgsSTXzanKCkE8zv5A592PivRwsGQWlUvFFlKxPrGdh637tfl1c6eft2 /FBCM2OBb9eo9aX3j0dpj+KxvH0qKQaeMJw0J1RwSXua/ZYBAfF5lHkPtIfy7JhpVL ZS5Krkwwmh82AS+y/gmncJckt4P7myaInPyi2FHfZpN4hmiFVXzSFbVfnTjjwRH6L7 zJRN7owoiEILqAktN39Y8UeF974tbUOYmyBJ4klw6TL5w+xt63jPZq4irE+TjfSXM4 1DhXK/9Neg304uqqrnM+UscCHeMYM80M4dpxfvNxyiVIoQyuP72nW/fNqvjpdnkskG 3dU8qr2o3dmTg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8DAED18020B for ; Thu, 18 Jul 2024 20:00:02 +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=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (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 ; Thu, 18 Jul 2024 20:00:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1721332710; bh=4Jna6DHQo1zscx6TdiJGzrq8z2EiFBmh9376S5QWqQ8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type:from:to:cc:subject:message-id; b=e8DSRDCFLLPOyVf7HmBMxwwPmgfHVwSxnpNuEcH67V2KyZHx8z4s92pNgkakqw+Ug N3TOoP84hPNdJZxz86vyd1O7YuVwcKOh2xj0yjN2/WCUl1O5wV0XHKYrf4YsmkvX6L xLavrliw3v3sACrg1rLrygoxtMVdmH4YFUDPJ5Q4tVuZAr7XA1v/vO6QVBPfJAYote np3yrCWF7ucTwoZlJ2IEf0DwKNaKgsJgodB1frM4TohSeMePSjMYPWxssmU9YAM8Mf GAlBSbhaCxj+yZWi0DmTmt3M2hBBTbLqKV397SBKMsnq2vpZR/G/LPREonkJAQvGkT Av7Bq9WqeYNqQ== Message-ID: Date: Thu, 18 Jul 2024 21:58:29 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Subject: Re: [PHP-DEV] [RFC] Lazy Objects To: Nicolas Grekas Cc: Rob Landers , =?UTF-8?Q?Benjamin_Au=C3=9Fenhofer?= , PHP Internals List References: <1118bbcd-a7b4-47bf-bf35-1a36ab4628e1@bastelstu.be> <45847b93-02bf-459f-bcd2-81ba35a12c24@bastelstu.be> <46bd4098-2936-4e46-98e9-fe55118325c2@bastelstu.be> <61ab36bc-b045-452a-84e0-87367d4c680e@bastelstu.be> <07e065f2-8f64-4bad-9a98-51f4eaf63ddb@app.fastmail.com> <2a0a4650-c2c5-4c6d-ad3a-25365b3391b2@bastelstu.be> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=C3=BCsterhus?=) Hi On 7/17/24 20:31, Nicolas Grekas wrote: > A bit unrelated to the above topic: we've further clarified the RFC by > addition restrictions to what can be done with lazy proxies. Namely, when > the factory returns an object from a parent class, we describe that adding > more on the proxy class would throw, and we also explain why. We also added > a restriction to prevent a proxy from having an overridden __clone or > __destruct when the factory returns a parent, and explained why again. Note that in the RFC you typoed it as '__destructor' ('or' suffix). > Please let us know if anyone has other concerns. I've replied regarding the cloning semantics in an earlier email. Regarding the `reset*()` methods even with the additional examples I remain unconvinced that this is not only necessary to work around existing design issues in userland libraries. However I guess that we will not reach an agreement here and I also do not consider myself the target audience of this RFC. I'm just here to find edge cases :-) Except for the cloning semantics I cannot find any obvious problems with the described semantics. Best regards Tim Düsterhus