Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:101392 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 59337 invoked from network); 19 Dec 2017 20:53:38 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Dec 2017 20:53:38 -0000 Authentication-Results: pb1.pair.com smtp.mail=php@fleshgrinder.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=php@fleshgrinder.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain fleshgrinder.com from 77.244.243.87 cause and error) X-PHP-List-Original-Sender: php@fleshgrinder.com X-Host-Fingerprint: 77.244.243.87 mx106.easyname.com Received: from [77.244.243.87] ([77.244.243.87:57305] helo=mx206.easyname.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D2/56-10479-15C793A5 for ; Tue, 19 Dec 2017 15:53:38 -0500 Received: from cable-81-173-135-181.netcologne.de ([81.173.135.181] helo=[192.168.178.20]) by mx.easyname.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1eROtD-000712-KA; Tue, 19 Dec 2017 20:53:29 +0000 Reply-To: internals@lists.php.net To: "lists@rhsoft.net" , internals@lists.php.net References: <3a8054fd-b99f-771f-1f6c-29cf198acdeb@phpgangsta.de> <7d0661d1-c41a-f772-63bb-5296f2fcc62c@rhsoft.net> Message-ID: <09b34130-5a92-604c-44f2-536c3f527609@fleshgrinder.com> Date: Tue, 19 Dec 2017 21:53:25 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <7d0661d1-c41a-f772-63bb-5296f2fcc62c@rhsoft.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-DNSBL-BARRACUDACENTRAL: YES X-DNSBL-PBLSPAMHAUS: YES X-DNSBL-SPAMRATS: YES Subject: Re: [PHP-DEV] [RFC] Mixed Typehint From: php@fleshgrinder.com (Fleshgrinder) On 12/19/2017 8:01 PM, lists@rhsoft.net wrote: > but that's a different thing and both don't collide > It's not a different thing, that's what I try to tell you. They do not collide, of course not, but having the others is going to make mixed useless. In other words: if there is no type left to constraint to, it must be the top type. (Note that we already have the ability to constraint to the bottom type void.) Other languages invest quite some time into getting rid of annotating their top types (and type inversion) and we already have this functionality and you (not you in person but the collective here asking for it) want to introduce it. Stanislav is right, this type would be there for no technical reason. It is only for cosmetics or maybe to allow people to say "my codebase is fully type constrained". Which is literally a meaningless statement. -- Richard "Fleshgrinder" Fussenegger