Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:99075 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 37743 invoked from network); 17 May 2017 14:47:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 May 2017 14:47:21 -0000 Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.50 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.214.50 mail-it0-f50.google.com Received: from [209.85.214.50] ([209.85.214.50:38236] helo=mail-it0-f50.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E7/C4-21791-7726C195 for ; Wed, 17 May 2017 10:47:19 -0400 Received: by mail-it0-f50.google.com with SMTP id e65so10455453ita.1 for ; Wed, 17 May 2017 07:47:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=MPHEkeZiGmzGEm6xS/I97r6zkwxqi9ApYhOZVDh2cX4=; b=kruzEQwtbaBgUBh/DLJS6t1F53mtWwn+rgplC9dMSjihHKZzoOHowCC1whxl6BQl09 +UcmUbZw+WTVCtHBAldsoaUZCCWezEwXIbcBqcu4fRemr7QonTlYyitRQQdhL0yN/4HR KmjPd9X7w9Qc2pV2KF26vI8pdGHniABWzM6hDfzr13dAzqExJjKQv1LefaGDv0TiSQnI c3qXDjcUDtC/2w2JELc0amrBpMj94gHrnRB4WIlcJ6jw1+lyl6LgUPEmpI4wUqWTEL3o KKdVnf39mhaKycgoCfMTCItobvUUd8QK+f4ILfj4niVrT4elLCIVIV+SIoHnN2pDYHBr nVBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=MPHEkeZiGmzGEm6xS/I97r6zkwxqi9ApYhOZVDh2cX4=; b=cgJWRPKcAB8F4VOi7PCHENhBYve/pvohSVqI2XDAWh00YVBU63Yah9veb0ApF2rxIa DwcfnIiwrPf0rcIrDtqVG1uslCgu/hFOawz8STi9joteuI/y8QLI8BXFMWhS0Iol5cyk TIoYDWs/tKrZMXWigDudr624SqOk9UssqG6ovFpo1ea17nwEkGPhyODzNGhI/2/AV6jc D0hT4L/hlFrVnVe1w8mBhTsxEwquvbisuKKCyz2rgOHciiy4dpkOMtmJYNStrY3m75Qv OkmKUDv1lC8nICmd0sEWDaoc7Y4zSQP9014KUM5aMKZ2hihx3epSZT36bfBjt422urgI AM4w== X-Gm-Message-State: AODbwcDb5i40goJFBRSUdVn/vqADaRxxOwK8AOtVwXIssHZoiK4BEiSB jqX1pru/0a6/aelsw3NeK7M+v6IngzDN X-Received: by 10.36.193.134 with SMTP id e128mr4121656itg.43.1495032435896; Wed, 17 May 2017 07:47:15 -0700 (PDT) MIME-Version: 1.0 Sender: morrison.levi@gmail.com Received: by 10.107.12.159 with HTTP; Wed, 17 May 2017 07:47:15 -0700 (PDT) In-Reply-To: References: Date: Wed, 17 May 2017 08:47:15 -0600 X-Google-Sender-Auth: gl3nt-CcUnoEs49qwz4q43mXQVU Message-ID: To: =?UTF-8?Q?Micha=C5=82_Brzuchalski?= Cc: PHP Internals List Content-Type: multipart/alternative; boundary="94eb2c08ebd245151e054fb95de7" Subject: Re: [PHP-DEV] [RFC] [VOTE] Object typehint RFC From: levim@php.net (Levi Morrison) --94eb2c08ebd245151e054fb95de7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, May 17, 2017 at 4:34 AM, Micha=C5=82 Brzuchalski wrote: > Hi everyone, > > I would like to put Object Type RFC up to a vote for inclusion in PHP 7.2= . > > Previously there were some concerns about adding named types in the futur= e, > but we came to the conclusion that each of them can be solved if there ar= e > proposals in the future. > > Voting starts today, 2017-05-17, and will close after two weeks on the > Wednesday 2017-05-31 at midnight. > > The RFC and voting widget can be found here: https://wiki.php.net/ > rfc/object-typehint > > The vote is a straight Yes/No vote for accepting the RFC and merging the > patch which require 2/3 majority. > The additional vote is also a straight Yes/No vote for accepting variance > behaviour on the object type which also require 2/3 majority. > > Thanks! > -- > regards / pozdrawiam, > -- > Micha=C5=82 Brzuchalski > about.me/brzuchal > brzuchalski.com > An emphatic "no" on variance for me. This is for two over-arching reasons: 1. Object variance should be implemented when we have generalized variance for all types. By special casing it now we open ourselves to the possibility that its implementation or semantics will differ from the generalized solution. 2. The way it is implemented prevents us from adding new types which are not objects. The reason is that the way this is implemented it just assumes that an unknown type is an object type. If we add a feature such as an enumerations (enums) this assumption probably breaks and cannot be fixed while maintaining BC as it would almost certainly need to trigger an autoload. Given these two points I think it's unwise to implement variance as outlined. I highly encourage other voters to vote against that portion of the RFC. ----- Lastly, I want to thank Dan and Michal for working on this RFC as an object type even without variance would have been useful for me in the past. --94eb2c08ebd245151e054fb95de7--