Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:96814 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 46706 invoked from network); 10 Nov 2016 12:18:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Nov 2016 12:18:35 -0000 Authentication-Results: pb1.pair.com header.from=pthreads@pthreads.org; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=pthreads@pthreads.org; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pthreads.org from 74.125.82.52 cause and error) X-PHP-List-Original-Sender: pthreads@pthreads.org X-Host-Fingerprint: 74.125.82.52 mail-wm0-f52.google.com Received: from [74.125.82.52] ([74.125.82.52:38631] helo=mail-wm0-f52.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CA/02-15787-99564285 for ; Thu, 10 Nov 2016 07:18:33 -0500 Received: by mail-wm0-f52.google.com with SMTP id f82so27617727wmf.1 for ; Thu, 10 Nov 2016 04:18:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pthreads-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=SR7Lb2Ir/s8vaxu8DdnhTLkzw9ucCN1D83dUaSPk7Qs=; b=daNq1RFXGBMycqloBGzogNmVJnqip60k7TU5rFF1LrIs3Qu6dDE/IbACQjXY0SABaE WfjsRNml3tcdtrws/m2qiUOY2FofaDfCRZuyU6mqjEKGFnRIVOkUzUo44jXoGsJX8j6t eCNEjBs6xv+9+hY5lcJv/F9awX/Y9lAiB21ond0DCkRvxIMFHDdYDMiA+vLiBHCkjh6V mvTp0eqixbFgRB9ZsttGJhP4kvdN2eGQ8MbxoFS7Y0Pw1yFR45JaykPEPI0EOjPq0KfQ ucyZNRM/IxEFdxKwoM9iX5Eb2Wi7cgZwIeiiCyz+pp0cFaMbVAdP3idT3CtgRiNe5ZfK JPgw== 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:from:date :message-id:subject:to:cc; bh=SR7Lb2Ir/s8vaxu8DdnhTLkzw9ucCN1D83dUaSPk7Qs=; b=I0F2jQyPWIt8wSh4VV4Yss/8OCgoIZGtPdKNmMdKiprYuvnqluOq1NK3M5kMDlGZYP +92zFtoNK5bnL1CtEkQeOrVn9uuSfho1kys7YBv2umRnQV/lHDOQgaXjBgWB2T0rbFSj VxD+xoRGoxEfgnkMPzy6GnPkPu1APLP7+JjD8iITQsIDVBtPmYfbA1HEsXHKIqpwnAk9 FMl29AXuoczY7D5qoaToaS1ji/Lu4HiZacnUq9HCwP5oKagEFA9WTehydwlAdu+8+JTW /YrjfodzAVs6gATOvdylQWyoSxDiEGElrkmPM1KrSYgopqqd7cocflO5qts2+TWQv4eZ XCQA== X-Gm-Message-State: ABUngveLTN6qYXIBzvDLNSUiOJ9ZbiHBVdmhdha9WU8peAQ/a2QMgqFj8BKzKRaXXpb3U2BFAvO5J92GVTPzGQ== X-Received: by 10.28.194.135 with SMTP id s129mr5915733wmf.55.1478780310872; Thu, 10 Nov 2016 04:18:30 -0800 (PST) MIME-Version: 1.0 Received: by 10.80.161.230 with HTTP; Thu, 10 Nov 2016 04:18:30 -0800 (PST) X-Originating-IP: [109.157.245.230] In-Reply-To: References: <0c171a20-c72d-4157-1117-6628a52dd1f0@gmx.de> Date: Thu, 10 Nov 2016 12:18:30 +0000 Message-ID: To: Levi Morrison Cc: Niklas Keller , "Christoph M. Becker" , =?UTF-8?Q?Micha=C5=82_Brzuchalski?= , PHP Internals List Content-Type: multipart/alternative; boundary=001a1148da6e217c7c0540f15f0a Subject: Re: [PHP-DEV] [RFC][VOTE] Object typehint From: pthreads@pthreads.org (Joe Watkins) --001a1148da6e217c7c0540f15f0a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Morning Levi, > There is a future compatibility issue of this same type with `object`: If that is an issue, it is for future RFC's to deal with. Cheers Joe On Thu, Nov 10, 2016 at 12:12 PM, Levi Morrison wrote: > On Thu, Nov 10, 2016 at 2:11 AM, Niklas Keller wrote: > > 2016-11-09 21:53 GMT+01:00 Christoph M. Becker : > > > >> On 09.11.2016 at 17:28, Joe Watkins wrote: > >> > >> > I want to explain why I voted no on this: > >> > > >> > I think it's significantly less useful without variance, varianc= e > is > >> > something that is usually difficult to achieve in PHP, but not for > this > >> > feature in particular. > >> > >> Can you please elaborate what you mean with variance? I see some > >> practical use cases for covariance of a method with return type object= , > >> but I don't see how contravariance could be achieved for parameters of > >> type object. > >> > >> If your suggestion is only about invariance of object return types, I'= m > >> not sure if this very special case would make sense (for consistency > >> reasons). > >> > > > > We already have it for iterable -> array. We would have it for all othe= r > > types if there wouldn't be an implementation issue. > > > > Regards, Niklas > > > > Cheers, > >> Christoph > >> > >> > I absolutely want it, but I want it to be properly useful. > >> > > >> > If the RFC were halted and patched to include variance, I'd +1 i= t. > >> > > >> > Cheers > >> > Joe > >> > > >> > On Sun, Nov 6, 2016 at 5:28 PM, Micha=C5=82 Brzuchalski > >> .com> > >> > wrote: > >> > > >> >> Hi everyone, > >> >> > >> >> Two weeks have passed since this RFC was put to discussion here. > >> >> > >> >> Therefore, I'm going to put it to a vote for inclusion in PHP 7.2. > >> >> > >> >> Voting starts today, 2016-11-06, and will close after two weeks on > the > >> >> Sunday 2016-11-20 at midnight. > >> >> > >> >> The RFC and voting widget can be found here: > >> >> https://wiki.php.net/rfc/object-typehint > >> >> > >> >> It's a normal 2/3 majority required vote. > >> >> > >> >> Thanks! > >> >> -- > >> >> regards / pozdrawiam, > >> >> -- > >> >> Micha=C5=82 Brzuchalski > >> >> about.me/brzuchal > >> >> brzuchalski.com > >> >> > >> > > >> > >> > >> -- > >> PHP Internals - PHP Runtime Development Mailing List > >> To unsubscribe, visit: http://www.php.net/unsub.php > >> > >> > > In a return type context `iterable` can be changed to `Traversable` or > `array`; it cannot be changed to `Collection` as we cannot guarantee > at compile-time that `Collection` implements Traversable. > > There is a future compatibility issue of this same type with `object`: > right now the only user-definable types are objects. However, enums > are an often requested feature and they may not be objects. Thus we > wouldn't be able to guarantee that `Foo` is an object. There is a > draft RFC with a patch for enums and expect it will come to a > discussion soon, so I don't think we'll have to wait very long to know > the answer here. > --001a1148da6e217c7c0540f15f0a--