Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121912 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 4134 invoked from network); 3 Dec 2023 15:42:31 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 3 Dec 2023 15:42:31 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E8401180003 for ; Sun, 3 Dec 2023 07:42:41 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) 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.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (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 ; Sun, 3 Dec 2023 07:42:41 -0800 (PST) Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-67ac6763401so483186d6.1 for ; Sun, 03 Dec 2023 07:42:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701618150; x=1702222950; darn=lists.php.net; h=subject:cc:to:from:date:references:in-reply-to:message-id :mime-version:user-agent:feedback-id:from:to:cc:subject:date :message-id:reply-to; bh=YC1NaS2G9a8qsRIa9L7JBqj2M3GIsSj8IvaEgASo7d8=; b=KUeB9rSwTugkw7cuTrQRka4lubVGHyaITzyy4UeCndq/9Wwl0fKEQhZxiQnHDufNob 5vcPzZy8keE6TKinxhjlTMJLTtR/icyBTCOOJwP91Yrsp2ECvU3H/vCSHljVL9zWmvNk LQo0Cd6hUJOI9gePlHIzGr46EY5kAKnNZtjkmQCLuxa29Zr/UHMt+vVgBjW78e9kj8B6 l/EDxtHFuypOLXR4GkB7tVU9biUq7UTV/GZmlpjhccqtfT2YmB6EWJlCzwRV+AaNUABl kg0mIWBn0glXrkWPzWgyoeTNUVvXzq13wLqDoCkQ4NRAFr41cT4BftldindpKfYnoth+ VJcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701618150; x=1702222950; h=subject:cc:to:from:date:references:in-reply-to:message-id :mime-version:user-agent:feedback-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YC1NaS2G9a8qsRIa9L7JBqj2M3GIsSj8IvaEgASo7d8=; b=d7T+buITPgj3Pg0dBAGKJiKTq7ZY+8oogAyZ2iNWCm/qps7+bP8gTHTEDxzCfBbarI YzgXxa1RUDp2ZoYTO8yCRCP2m6CnDeV3OR0q+e7mXgnWcE5Sh9EUAFBeMJTV7lAvBLTZ /uZrc5up3YJqVzDEGFSHhPRRuRhOfO6dAxJeW/7VMm31jSmjC70J2sduf8iAzh30NGHm KxVwVQuEXmY3DA7n8oPMXkZijObn9h2SIuq7Il/Afkma56HpVIT6Dqq/dFlkOmcOhQgc NEYYh35Y7lbMxEBDw54+76MLPgNsEnUrdhzGb45adJItBxgL8aAUQ11857gDRXVU6Rok dHEg== X-Gm-Message-State: AOJu0YzlxVv2LHN15AYEE7QwW1rGoToYL76kh/4K5biWLex2LoL20KIj N2e5nE1MhtuA1WgV13pSw0Q= X-Google-Smtp-Source: AGHT+IGi6Ls24pwLw58ex+Jpudi1NU+ahKjg1FDGxy6j/j6Op/xX4N2mmWvo4WkXf4Z5Gj2nQjxoEw== X-Received: by 2002:ac8:5f13:0:b0:425:48ee:8d0 with SMTP id x19-20020ac85f13000000b0042548ee08d0mr3950339qta.3.1701618150212; Sun, 03 Dec 2023 07:42:30 -0800 (PST) Received: from auth1-smtp.messagingengine.com (auth1-smtp.messagingengine.com. [66.111.4.227]) by smtp.gmail.com with ESMTPSA id df15-20020a05622a0ecf00b00423da75b0f4sm3464191qtb.71.2023.12.03.07.42.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 07:42:29 -0800 (PST) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailauth.nyi.internal (Postfix) with ESMTP id EF49E27C005A; Sun, 3 Dec 2023 10:42:28 -0500 (EST) Received: from imap48 ([10.202.2.98]) by compute4.internal (MEProxy); Sun, 03 Dec 2023 10:42:28 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudejgedgjeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvvefutgesrg dtreerreertdenucfhrhhomhepfdfpihhkihhtrgcurfhophhovhdfuceonhhikhhithgr rdhpphhvsehgmhgrihhlrdgtohhmqeenucggtffrrghtthgvrhhnpeeifeegtdevvefgtd dtfeehieevffevtdeghfdtuefgffetjedvffejudfhtedtvdenucffohhmrghinhepphhh phdrnhgvthdpvgigthgvrhhnrghlshdrihhonecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepmhgrihhlodhmvghsmhhtphgruhhthhhpvghrshho nhgrlhhithihqddufedufeeludekheeiqddvheekvdegheeikedqnhhikhhithgrrdhpph hvpeepghhmrghilhdrtghomhesnhhpohhpohhvrdgtohhm X-ME-Proxy: Feedback-ID: id4a9467a:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 7A3C931A0065; Sun, 3 Dec 2023 10:42:28 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-1178-geeaf0069a7-fm-20231114.001-geeaf0069 MIME-Version: 1.0 Message-ID: <30d56806-85c9-4b39-9e1b-3a247dc9cdab@app.fastmail.com> In-Reply-To: References: <74dcffb7-e8c1-45c8-ae41-9fc0f050f484@app.fastmail.com> Date: Sun, 03 Dec 2023 16:42:05 +0100 To: "Nicolas Grekas" Cc: "Levi Morrison" Content-Type: multipart/alternative; boundary=14dd6fdf108947a1b8484d1c909a74de Subject: Re: [PHP-DEV] [VOTE] [RFC] Final anonymous classes From: nikita.ppv@gmail.com ("Nikita Popov") --14dd6fdf108947a1b8484d1c909a74de Content-Type: text/plain On Sun, Dec 3, 2023, at 16:05, Nicolas Grekas wrote: > Hello Nikita, > >> > I've just opened voting for the final anonymous classes RFC @ >> > https://wiki.php.net/rfc/final_anonymous_classes. >> > >> > Voting started now, and will run until December 18th 2023, 00:00 GMT. >> >> For the record, I've voted against this proposal because I believe it should have gone with option 2, that is to *always* make anonymous classes final. >> >> It makes very little sense to me that everyone needs to explicitly mark their anonymous classes as final just because there is a class_alias loophole that could, in theory, have been used to extend anonymous classes in the past. Especially given that there is no evidence of this "feature" being used in the wild (or if there is such evidence, it was not presented in the proposal). > > You might have missed my message in the discussion thread, > > see https://externals.io/message/121685#121690 > > There is such evidence (not in the RFC though). Thanks, I did indeed miss this. However, I also don't think that a test-only use is particularly compelling. If this were something that Symfony had exposed as a public API promise, we might be caught between a rock and a hard place, but this thankfully doesn't seem to be the case. I think I can fairly confidently say that the ability to extend anonymous classes by abusing class_alias is a bug in the original implementation, rather than an intentional feature. Yes, people do start to depend on bugs if they exist for long enough, but I don't think this means we shouldn't fix them (within the bounds of pragmatism). Regards, Nikita --14dd6fdf108947a1b8484d1c909a74de--