Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118691 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 95885 invoked from network); 25 Sep 2022 21:01:48 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 25 Sep 2022 21:01:48 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 89CBE1804F8 for ; Sun, 25 Sep 2022 14:01:47 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-vk1-f178.google.com (mail-vk1-f178.google.com [209.85.221.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 25 Sep 2022 14:01:47 -0700 (PDT) Received: by mail-vk1-f178.google.com with SMTP id g185so2549221vkb.13 for ; Sun, 25 Sep 2022 14:01:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=acZ1+4g5uh9yjResyFiO1ST7fiv0KJNZpGCfrfNyHNg=; b=FkX/+i1LXoVi/OuFcmAXov3tGNUNKEw91pPEsXHCbHjnwBFR5GLskdAqE1QWXWrLfy YjNccbbBHCpU8iiV4YkaQTf1mmlsbWaScIlV7mOAUFrrzbTuuTLZBiJmx/5LVRj+0v3U iJlyicVltmVbsXMhRP+xUaqTn7J9ARbWPqnDeBgMcUN7sRlvSzSpVAsrM1FfU8UMgZ+I mxU4MdynUWwl7yaPEfxU/6QTVhB8qPTYqTHeawbMDK5zjaVbLtKac5e+yCXX+rqKB9/E OBV4f4Jg1MGVK+SFr9Y7L/+CWvuiwMvFVqj4iSXrt/Yn/BFL/uT0nLpLJVmaBIgDfZU2 9/kA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=acZ1+4g5uh9yjResyFiO1ST7fiv0KJNZpGCfrfNyHNg=; b=GHkgFnvymP+8DQZfCXcDp9XmS8yPo3blheae/wDjSgw5/zdQjQneLzx2ETw7V0Q7Je dds97sb1lyWvPNCdrjW5jA+7/Sk8vhJxwlSc9WuHEiMg6pYIvwvyDp7/RtOCtGURntbb v9MkxFBGBJfB53QO7QenW1FZG2fFxstAmyFCovAz+CWOdXdyR6xBuNsXlYYoa/EChdwN QhsZYkV44GunPM7qBXxfthivBAblo/qHOg3Yv8aWyEiy1C79W5qFMmF0oLb0qJ2L5G/+ bxPZbXD/3U09EfkjhVo2BAW+wThCrAQeP8+/gumYT3b7vMHhI0szZvIuaPGMWjuwyt7a 1pAw== X-Gm-Message-State: ACrzQf10TiVjQxL6Hfxn6F/NNg4ixRiII1DRFF1Qp0USSBMb0hrjyEQ5 yeTnRFnNWvaN7MiCx6CsT4Z8DvJ3sfb8mfQJjdYVy9Me X-Google-Smtp-Source: AMsMyM5mnt+22TrgjzIJ/QAsCr6PZVOI5TkRLyQqHpBL3jjUiOtzMO3VrA/XSZ47O1AKT0MMvarv48jOXBxzXigp+oM= X-Received: by 2002:a1f:e484:0:b0:3a3:356:daa2 with SMTP id b126-20020a1fe484000000b003a30356daa2mr7231036vkh.39.1664139706372; Sun, 25 Sep 2022 14:01:46 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Sun, 25 Sep 2022 14:01:34 -0700 Message-ID: To: =?UTF-8?B?TcOhdMOpIEtvY3Npcw==?= Cc: Larry Garfield , Nicolas Grekas , php internals Content-Type: multipart/alternative; boundary="0000000000000e153b05e986b8f9" Subject: Re: [PHP-DEV] Re: Issues with readonly classes From: jordan.ledoux@gmail.com (Jordan LeDoux) --0000000000000e153b05e986b8f9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Sep 25, 2022 at 10:57 AM M=C3=A1t=C3=A9 Kocsis wrote: > Hi, > > I agree with Tim, and I also think that both reverting and making any las= t > minute fundamental change is not a good idea, especially > because people don't have a clear agreement about how inheritance > should work. Readonly classes is an optional feature, so anyone > who wants proxies to work can simply not add the readonly flag to their > classes. Of course, it's a bit more tricky for library code, > but package authors should be aware of this gotcha. Having that said, I'l= l > try my best to fix the current shortcomings for PHP 7.3. > > Regards, > M=C3=A1t=C3=A9 > I tried hard to make it clear that I don't think this makes it "broken", it was just a deviation from my expectations and memory, both of which can obviously be flawed. I was mostly looking for some kind of information about what the reasoning was for this, given that I obviously (since I didn't remember it) missed that part of the discussion. The distinction between "readonly" and "immutable" is subtle, but fair. This distinction should probably be pointed out quite explicitly in the documentation though. If my default assumption (and Larry's) was that such a class would be immutable, it's fair to think that a non-trivial number of other programmers may make the same faulty assumption, and making this distinction obvious in the documentation would probably help. Jordan --0000000000000e153b05e986b8f9--