Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119495 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 59704 invoked from network); 8 Feb 2023 18:12:28 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 8 Feb 2023 18:12:28 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 39F9C18005D for ; Wed, 8 Feb 2023 10:12:28 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-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,FREEMAIL_FROM, 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-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (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 ; Wed, 8 Feb 2023 10:12:27 -0800 (PST) Received: by mail-wr1-f47.google.com with SMTP id j23so2461410wra.0 for ; Wed, 08 Feb 2023 10:12:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=S6YRjQvI8KOPMy36UF1xxfrR8hmiS/C9YmfzL4tS2Qw=; b=KuOMPBgNgQwL3TMAtrFqya7D5255uoxDzYi4WR5ZK1X0z/CuY8Z8RIlfaTlfuidaNn qDSNyqqINlLlYiazyHy52F928KrwflqAIWFPpnRtLWfE6kDD7+9Klua3ko95I3KrOgJt 5vCeUG+J/uAITsnwkUCeSZpSZ2P++b0PT07eGX3L70B7xsjQV10px2FpeStsXPHccPv1 SSy16Mbm8tEonbiSU7Vmz4SotG+AttJ6sILsyqfoY+mkWCk8IcjpMme1wzv1lBa3SFlX 9dtB1uqhb32lW6foYWzSlFv37xCVQQIVj9/4aQRCDhTG3LfW/f2l6WhTQEgvXULf/okZ hlRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=S6YRjQvI8KOPMy36UF1xxfrR8hmiS/C9YmfzL4tS2Qw=; b=e5HxscCyOAkVImAUJTtgpXJ4NhYwP8OZmN0cUgZraQ/O8jAbF8m3KbcMkdVSomr9/W 4CLQZBjMf4zMHLzx87mYzIpH/6+oquJhpkEwhIhfne7plIhuxT61MiI9MKbk04ejHNG+ Pfyx6lYnmgToyouSizniJJBUGLAAdMQJoYdObE9WBTWgnlP31WmvptuUJjWuclOfpVRT NXhXAMHnMFPC8/wJp4FomZW97raXXgRbulo4YBgm86SzBgOlIQXkowyeWCwDo0aQEgPq u1JQdaZpdeLQA90zPi1wKljHlSr021f7cjZSmp4pyf5UDje/rezLQ4t7Mo24sOlpGC// xx6g== X-Gm-Message-State: AO0yUKX7GOrY7aLbmf4sloVzBlenVganVlS+5w3xCH6nfr8gsS2XGuzk ip0dT1U4C357wRG2qUXKqrndVw+k7+c= X-Google-Smtp-Source: AK7set+NTAaEOfywBggQi8l4mSeXMmLzfHMdnQPwhPccPIC0ffchTF6vicU0P2AywGVZVv1wf6WfaA== X-Received: by 2002:a5d:4aca:0:b0:2c3:fbca:93f6 with SMTP id y10-20020a5d4aca000000b002c3fbca93f6mr3594952wrs.63.1675879946482; Wed, 08 Feb 2023 10:12:26 -0800 (PST) Received: from [127.0.0.1] ([217.38.59.169]) by smtp.gmail.com with ESMTPSA id a17-20020a5d53d1000000b002c3ebbc9248sm7038451wrw.66.2023.02.08.10.12.25 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Feb 2023 10:12:25 -0800 (PST) Date: Wed, 08 Feb 2023 18:12:23 +0000 To: internals@lists.php.net User-Agent: K-9 Mail for Android In-Reply-To: References: Message-ID: <5C4DC78E-9479-42C1-9A47-C3624D27D237@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] 'Uninitialized' creates a lot of cluttering From: rowan.collins@gmail.com (Rowan Tommins) On 8 February 2023 16:14:07 GMT, Lydia de Jongh wrot= e: >From a programmer's perspective, the property is declared and should be >accessible=2E Even if it has no value=2E >There should be no difference between typed and none-typed properties for >this=2E I've actually been considering a proposal to remove this difference *the o= ther way around*: if a property is declared but never assigned a value, con= sistently giving an error on access, regardless of whether a type was decla= red or not=2E=20 Currently, properties can be in a number of different states: declared and= assigned, undeclared, undeclared but created dynamically by assignment, de= clared without type and not yet assigned, declared with type and not yet as= signed (Uninitialized), declared without type but then unset (distinct from= both the unassigned and Uninitialized states) =2E=2E=2E possibly other com= binations I've forgotten=2E Now that we have the Uninitialized state, and have deprecated dynamic prop= erties, this could mostly be reduced to two: has a current valid value, or = Uninitialized=2E But the details of what would need to change and when are = the subject for a future discussion=2E Regards, --=20 Rowan Tommins [IMSoP]