Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121770 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 17540 invoked from network); 23 Nov 2023 07:56:13 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 23 Nov 2023 07:56:13 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B29D518002F for ; Wed, 22 Nov 2023 23:56:16 -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=-0.2 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, MISSING_HEADERS,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-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 ; Wed, 22 Nov 2023 23:56:16 -0800 (PST) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-40790b0a224so3430845e9.0 for ; Wed, 22 Nov 2023 23:56:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700726171; x=1701330971; darn=lists.php.net; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:cc:from:date:from:to:cc:subject:date :message-id:reply-to; bh=2hg4ldFg295th8A3SdHgCYCNNoHh87ojOFMQB/W93Mc=; b=B+7Q6bSxcX8cZ8eddsmgazHW/144fWYeIHePOt9UnJXk7myC8UPOVjYc8KIBozXPjt l/9wWDq9kCDSuJJ4RNlt3H86yU9rTaPtaP/v8AgGySZEccSrVlG3ICc5MbM/AFaRjLRw fVh/j4v8INfUGiezmXoH8Y6DDs7MhWxlSn5XWhaGXQ7JjBbWb0NOGxJJqEK/gt4b7vmP FKZttRarNcsS274U2xtEzx1b4npQzZFRD1Wsbk+/gUTQy9zNaUtZI4oktvkJJS1Grc4j dmB0B2E2JzxVpBXhcdhTGvtvUqcuuORYlkqeovIIIG5DJPAkFtQ819KWGHRfFYHjVmyb Apsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700726171; x=1701330971; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:cc:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2hg4ldFg295th8A3SdHgCYCNNoHh87ojOFMQB/W93Mc=; b=nC6q+R1B7rZlE3S/vCp0zFuZxiCiYZUUKSaJqu7Qze4f60o0PVfOKsfGNzMwdeGrZF +me8J9k4c9WgNvpwtO9h7rtDl1a3QcloYCb4hdfy4lusoM7fi6udGeroWmiqQPAbjsBH esA+PAV84MymrT8birP9IU6TciC7nO1gzsEQmuk7wFq80oMlDGKDKgOA5sWSdS2FOE3h vfH8Hzxl6lES/Hrm1dhWxfZS4JzOpl4vCqXPqvr0qibPA4lwPFOsSmN/550b70T8ApTH Dk6y6vFE4GyOCiUppg6OwqSU4WopFvPDeKnR1RApJkPdlNITkHK65nbEvxEvvMNyK2QP EQOA== X-Gm-Message-State: AOJu0Yy5H82EQ1+yG7w9whReUw7YzyCXKhh9bda5ZVylxBBUIvdg25yi /+CAznnG130EnJiqN9EvNJDEqGeoFEU= X-Google-Smtp-Source: AGHT+IEzu8C0w7aRDn1t2dMe4PRBEJkKut3+a/aZRuoiJnQMtPfy3pR5pSly3+Epe6Rdb5fnyoa0Yg== X-Received: by 2002:a05:600c:4692:b0:402:8896:bb7b with SMTP id p18-20020a05600c469200b004028896bb7bmr3441716wmo.6.1700726170372; Wed, 22 Nov 2023 23:56:10 -0800 (PST) Received: from [127.0.0.1] (cpc83311-brig21-2-0-cust191.3-3.cable.virginm.net. [86.20.40.192]) by smtp.gmail.com with ESMTPSA id v21-20020a05600c471500b0040a4751efaasm1071580wmo.17.2023.11.22.23.56.09 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Nov 2023 23:56:09 -0800 (PST) Date: Thu, 23 Nov 2023 07:56:07 +0000 CC: PHP Internals User-Agent: K-9 Mail for Android In-Reply-To: References: Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: =?US-ASCII?Q?Re=3A_=5BPHP-DEV=5D_Re=3A_=5BRFC=5D=5BDiscussion=5D_Har?= =?US-ASCII?Q?monise_=22untyped=22_and_=22typed=22_properties?= From: rowan.collins@gmail.com (Rowan Tommins) On 23 November 2023 01:37:06 GMT, Claude Pache = wrote: >What you describe in the last sentence is what was initially designed and= implemented by the RFC: https://wiki=2Ephp=2Enet/rfc/typed_properties_v2 (= section Overloaded Properties)=2E > >However, it was later changed to the current semantics (unset() needed in= order to trigger __get()) in https://github=2Ecom/php/php-src/pull/4974 Good find=2E So not only is it not specified this way in the RFC, it actua= lly made it into a live release, then someone complained and we rushed out = a more complicated version "to avoid WTF"=2E That's really unfortunate=2E I'm not at all convinced by the argument in the linked bug report - whethe= r you get an error or an unexpected call to __get, the solution is to assig= n a valid value to the property=2E And making the behaviour different after= unset() just hides the user's problem, which is that they didn't expect to= *ever* have a call to __get for that property=2E But I guess I'm 4 years too late to make that case=2E Regards, --=20 Rowan Tommins [IMSoP]