Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93955 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 5468 invoked from network); 14 Jun 2016 16:10:20 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Jun 2016 16:10:20 -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:58417] helo=mx201.easyname.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 93/D0-34398-96C20675 for ; Tue, 14 Jun 2016 12:10:18 -0400 Received: from cable-81-173-133-15.netcologne.de ([81.173.133.15] helo=[192.168.178.20]) by mx.easyname.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1bCqus-0003sh-Hw; Tue, 14 Jun 2016 16:10:14 +0000 Reply-To: internals@lists.php.net References: To: Derick Rethans , Bob Weinand Cc: PHP internals Message-ID: Date: Tue, 14 Jun 2016 18:09:53 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="JlWesWcK1mE9jjBkpchAb4P8GjUFpLl5d" X-ACL-Warn: X-DNSBL-BARRACUDACENTRAL Subject: Re: [PHP-DEV] [RFC] [VOTE] Union types From: php@fleshgrinder.com (Fleshgrinder) --JlWesWcK1mE9jjBkpchAb4P8GjUFpLl5d Content-Type: multipart/mixed; boundary="cEu5jdraoeiOGeEdmIKMOoi0wajV4ek8O" From: Fleshgrinder Reply-To: internals@lists.php.net To: Derick Rethans , Bob Weinand Cc: PHP internals Message-ID: Subject: Re: [PHP-DEV] [RFC] [VOTE] Union types References: In-Reply-To: --cEu5jdraoeiOGeEdmIKMOoi0wajV4ek8O Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 6/14/2016 5:22 PM, Derick Rethans wrote: > Not clear on some of the wording. When you say: >=20 > "This RFC proposes a vote on whether ?Foo shall be replaced by Foo |=20 > null in general." >=20 > Do you mean that ?Foo will no longer be allowed at all if this RFCs=20 > passes? >=20 > cheers, > Derick >=20 Same question here, since https://wiki.php.net/rfc/nullable_types already passed and directly voiding it makes no sense. I mentioned this before but maybe it is better to change the RFC to disallow the question mark if an union type is in use: # OK ?string null|string string|null ?SomeClass SomeClass|SomeOtherClass|null null|SomeClass|SomeOtherClass SomeClass|null|SomeOtherClass # BAD ?SomeClass|SomeOtherClass ?SomeOtherClass|SomeClass ?string|int ?int|string This would be a perfectly valid and reasonable restriction that makes sense in every way because it helps to avoid ambiguity. However, disallowing ?T is not. --=20 Richard "Fleshgrinder" Fussenegger --cEu5jdraoeiOGeEdmIKMOoi0wajV4ek8O-- --JlWesWcK1mE9jjBkpchAb4P8GjUFpLl5d Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXYCxhAAoJEOKkKcqFPVVrWvsQAMgeWsdmxHWW2wWkr9DGyF2g /bNe62qCYn93PZr5etE3qkMU/K0NrEFtdeczGmJ1s/EPKGNeYY5iqtIGWAfTOlT+ QqQcej9QuDYk3N771RcLeAYWMcokMvEHN44/Him/rM6FH68mOhcYLC0iI9XBq1e3 7J34GPVJ7wm7AY2Pkh1Uc3vYPpmmETnAdE/ryBK7TUGBJg8o/N6HJg5l12EC8WNF TBSGguzP0vPAUX+kHVfI1V3GJ08ezcx3aBMeydKQbDG7Xh5qWZe8qJ7N7dwJvhnu MlHj5IirRB5aDMqjA+ySA7sPjJDmnySTpWAVvgnMZZ3u1/Tby2gG1bjkVVSm+Dlg XypkcRII2hfx0Tp2I3G5N/t2BYjX/liwLOVUUn4noie3ulqoPUfTv6X8VxoblJjz vFp0u0NPuGcIiAMszPgu0V/Aj+wzanFrecCtbqllzZ6qr4AiK0/Cept6zzU9ltdE Mlc+poRjdgchslTHWA56bmLGgXpBE5DvT8HAEa2qBEk8EDCukVW+dCe7ce2VhI7o gcO9wPsI1jMke7bE2nrXZWxGGVkORPNtJUgdSuwn+GySF1pbHr5bhcRllAR6e2ZO Klu79OBwiH3IGcFUwXjaUTcgyIi8UxgLh/Bl1PNMbA4tE5hZYpyDR3tDGDvA/F8N rSZn5QJdSzRzyG1kSS12 =WdMv -----END PGP SIGNATURE----- --JlWesWcK1mE9jjBkpchAb4P8GjUFpLl5d--