220 29871 <CACGiwhFTaWLRhxJkoDk9Aaar7xD_-+EOqkCwhYK6iz4ebd9HVQ@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: "D. B." <db0451@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Extending the scope of generalized lambda
 captures to include the lambda's trailing return type
Date: Sat, 17 Dec 2016 15:26:21 +0000
Lines: 117
Approved: news@gmane.org
Message-ID: <CACGiwhFTaWLRhxJkoDk9Aaar7xD_-+EOqkCwhYK6iz4ebd9HVQ@mail.gmail.com>
References: <f804aae4-6aeb-4239-9deb-23c9daeed950@isocpp.org> <cba1a1fa-d3c8-43e0-a1b5-f69fb285a680@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=047d7b86e2f80e722a0543dc4f70
X-Trace: blaine.gmane.org 1481988384 22151 195.159.176.226 (17 Dec 2016 15:26:24 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sat, 17 Dec 2016 15:26:24 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCWNZ4ECS4GBBHVS2XBAKGQET7I32TQ@isocpp.org Sat Dec 17 16:26:20 2016
Return-path: <std-proposals+bncBCWNZ4ECS4GBBHVS2XBAKGQET7I32TQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lf0-f71.google.com ([209.85.215.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCWNZ4ECS4GBBHVS2XBAKGQET7I32TQ@isocpp.org>)
	id 1cIGsM-0004xh-Ji
	for gclcip-std-proposals@m.gmane.org; Sat, 17 Dec 2016 16:26:18 +0100
Original-Received: by mail-lf0-f71.google.com with SMTP id c13sf15907126lfg.4
        for <gclcip-std-proposals@m.gmane.org>; Sat, 17 Dec 2016 07:26:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=CvKz+ru8q1T9RXzTtRiIEFBESONse7AGKh791sqG0rc=;
        b=yugpQYIL4g5iR3M5ShFcymbPpa4mmaykJQ2MYbGnCtcN2sIrjc2VRb0EpgHdB0hwi1
         ehgsxpzfSq3Q9VjfyYhQKBPYKXJHk+j+lhC58NAIPcH0UiTVYbpNswzgAi7ml8ZfbLj6
         W7h7U8xFy+lyIou7/GHac67l0Wognx28PnOexAfHSQ8Af5w6keO5qVOuz/Re78Dmq5E6
         K7FZCuefFq3kx7wQLd1z+XiaoTAoFV09+pfget+mSbe7ZiWYuX0txrrAq4RO45I42/YJ
         1Vo+7xtR0lxLAR7McD0LZbWmdedme8RNB1lUpShEv+q5mTZcQhuSarW5Ze1kCISsDy0Q
         MKFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:in-reply-to:references:from:date
         :message-id:subject:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=CvKz+ru8q1T9RXzTtRiIEFBESONse7AGKh791sqG0rc=;
        b=ZyTzERUt5QLrpVR4yBiNfSEdd3QtPtsDa3JoK6GFCA+nYR2PB6sHPWEMaEQiNCrsod
         WZeTBZfPiRy/jPRwXH9mfH+8zjd/LsryDUW85L/2OAAcEnQLyAHc1b9skFVYAFP5s6EC
         /xnh9nIugr10km7HBgBQ40RVGy748jFx6+SxosiWG79qD+xQAGF9sLqmGZNMhaQt/J6z
         QdG5QGee/9FfsBxMUVQqzYtr/LVPLcrGgqTuV0YsJksl6IVLgsqpWnZ+SmUJahevb8OY
         QBCR4Hvdh7gvn1/n6CCPWfEBO3Gy2JYOkL+eXUdjNoKNldSqtLv+qN9Bu7hcmAQa19V/
         8CkQ==
X-Gm-Message-State: AKaTC02SuLfVf1dUGkK8OIwbOMmaX2lHQtORNZeaYCOz17ONOZc6+Ry6ZdSfgplCGcnmOQ==
X-Received: by 10.46.9.193 with SMTP id 184mr765914ljj.12.1481988383417;
        Sat, 17 Dec 2016 07:26:23 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.28.148.208 with SMTP id w199ls673837wmd.2.canary-gmail; Sat,
 17 Dec 2016 07:26:22 -0800 (PST)
X-Received: by 10.194.171.104 with SMTP id at8mr7149308wjc.159.1481988382121;
        Sat, 17 Dec 2016 07:26:22 -0800 (PST)
Original-Received: from mail-wj0-x233.google.com (mail-wj0-x233.google.com. [2a00:1450:400c:c01::233])
        by mx.google.com with ESMTPS id d18si8387777wmd.16.2016.12.17.07.26.22
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Sat, 17 Dec 2016 07:26:22 -0800 (PST)
Received-SPF: pass (google.com: domain of db0451@gmail.com designates 2a00:1450:400c:c01::233 as permitted sender) client-ip=2a00:1450:400c:c01::233;
Original-Received: by mail-wj0-x233.google.com with SMTP id tg4so115897252wjb.1
        for <std-proposals@isocpp.org>; Sat, 17 Dec 2016 07:26:22 -0800 (PST)
X-Received: by 10.194.60.195 with SMTP id j3mr7476012wjr.149.1481988381764;
 Sat, 17 Dec 2016 07:26:21 -0800 (PST)
Original-Received: by 10.28.144.66 with HTTP; Sat, 17 Dec 2016 07:26:21 -0800 (PST)
In-Reply-To: <cba1a1fa-d3c8-43e0-a1b5-f69fb285a680@isocpp.org>
X-Original-Sender: db0451@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com;       spf=pass (google.com: domain of db0451@gmail.com
 designates 2a00:1450:400c:c01::233 as permitted sender) smtp.mailfrom=db0451@gmail.com;
       dmarc=pass (p=NONE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:29871
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/29871>

--047d7b86e2f80e722a0543dc4f70
Content-Type: text/plain; charset=UTF-8

On Sat, Dec 17, 2016 at 3:14 PM, Vittorio Romeo <
vittorio.romeo.vee@gmail.com> wrote:

>
> * The last example posted by Arthur
>     int i;
>     auto f = [i=0L](char i) -> decltype(i) { return 0; }
>     // decltype(f(0)) == ???
> is something that the paper should address, after the change in scope. I
> am not sure where to start here though, as I'm confident that multiple
> rules from different parts of the standard come into play here.
> Intuitively I think that the return type should evaluate to `char` (as the
> parameter `i` is closer to the trailing return type). What do you think?
>


I agree with Arthur and you on this, particularly because in addition to
being geographically closer, having the parameter shadow the member
variable is correct in terms of consistency with 'real' class methods.

-- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CACGiwhFTaWLRhxJkoDk9Aaar7xD_-%2BEOqkCwhYK6iz4ebd9HVQ%40mail.gmail.com.

--047d7b86e2f80e722a0543dc4f70
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On S=
at, Dec 17, 2016 at 3:14 PM, Vittorio Romeo <span dir=3D"ltr">&lt;<a href=
=3D"mailto:vittorio.romeo.vee@gmail.com" target=3D"_blank">vittorio.romeo.v=
ee@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div d=
ir=3D"ltr"><br><div>* The last example posted by Arthur<span class=3D""><br=
><span style=3D"font-family:monospace;background-color:rgb(250,250,250);col=
or:rgb(0,0,0)">=C2=A0 =C2=A0=C2=A0</span><span style=3D"font-family:monospa=
ce;background-color:rgb(250,250,250);color:rgb(0,0,136)">int</span><span st=
yle=3D"font-family:monospace;background-color:rgb(250,250,250);color:rgb(0,=
0,0)">=C2=A0i</span><span style=3D"font-family:monospace;background-color:r=
gb(250,250,250);color:rgb(102,102,0)">;</span><span style=3D"font-family:mo=
nospace;background-color:rgb(250,250,250);color:rgb(0,0,0)"><br>=C2=A0 =C2=
=A0=C2=A0</span><span style=3D"font-family:monospace;background-color:rgb(2=
50,250,250);color:rgb(0,0,136)">auto</span><span style=3D"font-family:monos=
pace;background-color:rgb(250,250,250);color:rgb(0,0,0)">=C2=A0f=C2=A0</spa=
n><span style=3D"font-family:monospace;background-color:rgb(250,250,250);co=
lor:rgb(102,102,0)">=3D</span><span style=3D"font-family:monospace;backgrou=
nd-color:rgb(250,250,250);color:rgb(0,0,0)">=C2=A0</span><span style=3D"fon=
t-family:monospace;background-color:rgb(250,250,250);color:rgb(102,102,0)">=
[</span><span style=3D"font-family:monospace;background-color:rgb(250,250,2=
50);color:rgb(0,0,0)">i</span><span style=3D"font-family:monospace;backgrou=
nd-color:rgb(250,250,250);color:rgb(102,102,0)">=3D</span><span style=3D"fo=
nt-family:monospace;background-color:rgb(250,250,250);color:rgb(0,102,102)"=
>0L</span><span style=3D"font-family:monospace;background-color:rgb(250,250=
,250);color:rgb(102,102,0)">](</span><span style=3D"font-family:monospace;b=
ackground-color:rgb(250,250,250);color:rgb(0,0,136)">char</span><span style=
=3D"font-family:monospace;background-color:rgb(250,250,250);color:rgb(0,0,0=
)">=C2=A0i</span><span style=3D"font-family:monospace;background-color:rgb(=
250,250,250);color:rgb(102,102,0)">)</span><span style=3D"font-family:monos=
pace;background-color:rgb(250,250,250);color:rgb(0,0,0)">=C2=A0</span><span=
 style=3D"font-family:monospace;background-color:rgb(250,250,250);color:rgb=
(102,102,0)">-&gt;</span><span style=3D"font-family:monospace;background-co=
lor:rgb(250,250,250);color:rgb(0,0,0)">=C2=A0</span><span style=3D"font-fam=
ily:monospace;background-color:rgb(250,250,250);color:rgb(0,0,136)">d<wbr>e=
cltype</span><span style=3D"font-family:monospace;background-color:rgb(250,=
250,250);color:rgb(102,102,0)">(</span><span style=3D"font-family:monospace=
;background-color:rgb(250,250,250);color:rgb(0,0,0)">i</span><span style=3D=
"font-family:monospace;background-color:rgb(250,250,250);color:rgb(102,102,=
0)">)</span><span style=3D"font-family:monospace;background-color:rgb(250,2=
50,250);color:rgb(0,0,0)">=C2=A0</span><span style=3D"font-family:monospace=
;background-color:rgb(250,250,250);color:rgb(102,102,0)">{</span><span styl=
e=3D"font-family:monospace;background-color:rgb(250,250,250);color:rgb(0,0,=
0)">=C2=A0</span><span style=3D"font-family:monospace;background-color:rgb(=
250,250,250);color:rgb(0,0,136)">return</span><span style=3D"font-family:mo=
nospace;background-color:rgb(250,250,250);color:rgb(0,0,0)">=C2=A0</span><s=
pan style=3D"font-family:monospace;background-color:rgb(250,250,250);color:=
rgb(0,102,102)">0</span><span style=3D"font-family:monospace;background-col=
or:rgb(250,250,250);color:rgb(102,102,0)">;</span><span style=3D"font-famil=
y:monospace;background-color:rgb(250,250,250);color:rgb(0,0,0)">=C2=A0</spa=
n><span style=3D"font-family:monospace;background-color:rgb(250,250,250);co=
lor:rgb(102,102,0)">}</span><span style=3D"font-family:monospace;background=
-color:rgb(250,250,250);color:rgb(0,0,0)"><br>=C2=A0 =C2=A0=C2=A0</span><sp=
an style=3D"font-family:monospace;background-color:rgb(250,250,250);color:r=
gb(136,0,0)">// decltype(f(0)) =3D=3D ???</span><br></span>is something tha=
t the paper should address, after the change in scope. I am not sure where =
to start here though, as I&#39;m confident that multiple rules from differe=
nt parts of the standard come into play here. <br>Intuitively I think that =
the return type should evaluate to `char` (as the parameter `i` is closer t=
o the trailing return type). What do you think?=C2=A0 <span class=3D""></sp=
an></div></div></blockquote><div><br><br></div><div>I agree with Arthur and=
 you on this, particularly because in addition to being geographically clos=
er, having the parameter shadow the member variable is correct in terms of =
consistency with &#39;real&#39; class methods.<br><br></div></div></div></d=
iv>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CACGiwhFTaWLRhxJkoDk9Aaar7xD_-%2BEOqk=
CwhYK6iz4ebd9HVQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CACGiwhFTaWLRhx=
JkoDk9Aaar7xD_-%2BEOqkCwhYK6iz4ebd9HVQ%40mail.gmail.com</a>.<br />

--047d7b86e2f80e722a0543dc4f70--

.
