Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92805 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 13212 invoked from network); 26 Apr 2016 17:20:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Apr 2016 17:20:29 -0000 Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.195 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.192.195 mail-pf0-f195.google.com Received: from [209.85.192.195] ([209.85.192.195:34588] helo=mail-pf0-f195.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6A/75-20013-C53AF175 for ; Tue, 26 Apr 2016 13:20:28 -0400 Received: by mail-pf0-f195.google.com with SMTP id 145so2087232pfz.1 for ; Tue, 26 Apr 2016 10:20:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=OIdgeJSIXV0dt3SD1ifP2z0jPYTgoWB+vA/B5bqaZHk=; b=H6V8TeWjLcx7+ipBsPNIQMrvHIooZx40nzcqtnAOh1AFBOiYdChE2J6uSvHHQpsFZ+ jaE19vyX0q1Tlovn448c3GYlchCwdPUm8KmpZSuUvKcWn8bLY29SrApJ+8WZS3bEcL3w Gf8xf2+nK5TFlDPbreNcNRSvN0GRGhWH8s3iL27IHI/w5saY5Odlbke+vPFiO0cU+hu/ QS38eGo7E/RvmrIGVOjKwy2wTlr5/To7uOlx4l/Zz2mztt8S6pkuaJtlzyg6ZIIuS+dK b2NdTUyYXAHem+NXA66aHi2MVODdn3QPcUqQjwHjB1DRlHxWKvwNS1pEaDhOD7Tx82D2 DXVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=OIdgeJSIXV0dt3SD1ifP2z0jPYTgoWB+vA/B5bqaZHk=; b=fC7nwLZVje9eYu2H/jjj5y5iKMfdmNSMpANoQPr048Oek/r8t46T/nZOMI++aoWrU1 Ka2JrMzemnYj4lVYzyW5hcbOKqrQYUrrWQo31UaVTJVmW3+LEXnpib6LJxS1EdnO+a+Y Lgz7otxE1DifMwrIcx6gEF9+KKMzjqlHMy3/6wx+/IdL0h4YymIFbFwfx5R+4z8ELfPR /2GAx8sr+9yRUIiecD+UEHt3bcGDHQ8xAcPBIHaGnUr+kuIsu0ZHBT4XGqsumBesyhtf DXC4eQ2EiqG7jzPYEHkV9ZwpMHpglD9xSjv67GdOCps+EFhBcRYuPHEXTsjJE2r6W8Eh e2Ow== X-Gm-Message-State: AOPr4FV8bAyxKme5w6LH/ZClGW8oVBTSLV1ipS3GgsabjKyJns5TGTN+qqx+F6472VoyRqYJfrMm5smS32GVEw== MIME-Version: 1.0 X-Received: by 10.98.103.28 with SMTP id b28mr5301424pfc.155.1461691225870; Tue, 26 Apr 2016 10:20:25 -0700 (PDT) Received: by 10.66.132.79 with HTTP; Tue, 26 Apr 2016 10:20:25 -0700 (PDT) In-Reply-To: References: <571F7B91.2030102@zend.com> Date: Tue, 26 Apr 2016 11:20:25 -0600 Message-ID: To: Niklas Keller Cc: Bob Weinand , Dmitry Stogov , internals , Joe Watkins Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC] Patch for Union and Intersection Types From: morrison.levi@gmail.com (Levi Morrison) On Tue, Apr 26, 2016 at 11:00 AM, Niklas Keller wrote: > 2016-04-26 16:58 GMT+02:00 Bob Weinand : >> >> Yeah, I'd like to not allow ?Foo in any case if union types pass. > > > What's the reason for that? To me, null is neither a type nor should it be. On the contrary, our manual says: > NULL is the only possible value of type null. And internally it is also a distinct type. It's been this way for a long time; we just haven't permitted `null` as a type declaration because until now it has been useless.