Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103232 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 9150 invoked from network); 23 Sep 2018 02:35:09 -0000 Received: from unknown (HELO mail-wm1-f48.google.com) (209.85.128.48) by pb1.pair.com with SMTP; 23 Sep 2018 02:35:09 -0000 Received: by mail-wm1-f48.google.com with SMTP id c14-v6so6235726wmb.4 for ; Sat, 22 Sep 2018 15:42:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:user-agent:in-reply-to:references:mime-version :content-transfer-encoding:subject:to:from:message-id; bh=uq+rnG3lE9ntAFLw3S3c6j+xO3VHM3Ux3rlPL7kF068=; b=eHU5R4dhX7q7CZgh6fnJgkVy7IFRYpv/rH8k6/vF7rI/ajej1V5XZmJncN9nGMuCnj c9dgYmA6FXX/+ocfhYNsqW0aRwDyTmQrbXwPK913zqUhvYAl65JGifx15QWmzqv8+B3X EV1hlqhXn3fASaCwiVvUucJAH2GLmRXu8wNGfSl/899Z2BFTgmQEKISofskrtVV/JI4z ubg+F/RVYMna+F2/4obOjAb7THCWYqBw8/RsTvdcHdSlXxfqdT6mwxslvDcEzM4b2kLF 6S9qOp/B9W67sPb5JMKc0kwXahtyrivRobyzC9bdYRqn7eQVttTVDvtThDnp5s72OsgT H5mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:user-agent:in-reply-to:references :mime-version:content-transfer-encoding:subject:to:from:message-id; bh=uq+rnG3lE9ntAFLw3S3c6j+xO3VHM3Ux3rlPL7kF068=; b=ngz4iiJRefdQ0MIDWHDKgYHVcUyuhd13JmnBkK3QeKpgGthOLvouAVFAoo80iGNQKW 43Ffs7qh++ZCQl7fL6P9wP1tUbQPWbwl8KJgnOLKF7Eut07btauLBWaCePrkCm2KouN9 GcvaMTfiMqEdtwUrOSggNmEsdpWrpxiEbb5lQl2PCWoYx2A02ZGfesZPw7/U41Fc2h2c heBqfKuv7met4cfzOEFhQMzwteNxxQn5Yo9iGiDXcovaNiyWLJL3FPavLon+GiTn5dxt VJp21JO9k6LCMecmG6J/k2xMbb+4cdcT/IqGpNvpk2wfi+agc5zQBHOfeQwSGRwQffEP a/lQ== X-Gm-Message-State: ABuFfoj5Iu//1evFlON1F8cZJutHLLvafRlDVkckv5VNDs42I1Hrnh4C 3QQSSWru+HqR3SQn4mmc8JQxwmKe X-Google-Smtp-Source: ANB0VdaJPOQDsgzBUertGrOpA01cQbruVTU9p8NWzkEyjUs26Eia9IiVcI3eb/lgEpS3fLpX585Scw== X-Received: by 2002:a1c:4007:: with SMTP id n7-v6mr2682477wma.108.1537656141689; Sat, 22 Sep 2018 15:42:21 -0700 (PDT) Received: from [192.168.0.12] (cpc84253-brig22-2-0-cust114.3-3.cable.virginm.net. [81.108.141.115]) by smtp.gmail.com with ESMTPSA id w94-v6sm32553685wrc.38.2018.09.22.15.42.20 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 22 Sep 2018 15:42:20 -0700 (PDT) Date: Sat, 22 Sep 2018 23:42:18 +0100 User-Agent: K-9 Mail for Android In-Reply-To: References: <5273905.aE8IdBJUB6@vulcan> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable To: internals@lists.php.net Message-ID: Subject: Re: [PHP-DEV] [RFC] [VOTE] Typed properties v2 From: rowan.collins@gmail.com (Rowan Collins) On 22 September 2018 20:32:04 BST, Rasmus Schultz wr= ote: >if you read my last post (especially the last part) carefully, you'll >see >why this elephant analogy is incomplete=2E > >the issue is not whether or not something gets in - it's much more far >reaching than that=2E > >the issue is, once something gets in, can you even be sure that that >something is what it claims to be? That is the entire point of the elephant analogy: that knowing what can ge= t in doesn't necessarily mean knowing what is already inside - BUT, knowing= what can get in may still useful in itself=2E The positions being expressed are therefore, roughly: a) That it's not the job of this feature to prove what is inside, only to = guard the door=2E (That is, that the current implementation is sufficient= =2E) b) That it is vital to always know what is inside, regardless of how it go= t there=2E (That is, that we must prevent all mechanisms where the value is= uninitialised=2E) c) That there will always be some ways for the wrong thing to end up insid= e, but that we can add checks at key moments to see if that's happened=2E (= That is, that we should detect uninitialised values automatically at the en= d of the constructor, and in similar places, but that there well be other w= ays that uninitialised values can come about=2E) In your last message, you seemed to be accepting position c - that not all= scenarios could be prevented, but that the common case of the constructor = should be checked=2E That is the same position Larry is suggesting, so I'm = not sure why you seem keen to disagree with him=2E Regards, --=20 Rowan Collins [IMSoP]