220 28535 <590c1dd8-e59f-48d3-9e66-bb7165d1b8b3@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Greg Marr <gregmmarr@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: A plea to reconsider adding Structured Bindings
 to language
Date: Wed, 5 Oct 2016 07:36:07 -0700 (PDT)
Lines: 129
Approved: news@gmane.org
Message-ID: <590c1dd8-e59f-48d3-9e66-bb7165d1b8b3@isocpp.org>
References: <201610051238.17863.marc.mutz@kdab.com> <201610051300.02280.marc.mutz@kdab.com>
 <CAKgx6B+kywTPwYVRt3P5KDQ_=xMUuHzSJv6x21L5j1ExPz6bkQ@mail.gmail.com>
 <201610051411.30312.marc.mutz@kdab.com> <073a7698-1388-4858-b6fa-b2b62a4fb6f1@isocpp.org>
 <CAFk2RUZwZLgNW6-XjHaZO+-aPa7AsA8EsHO9Vbf=x+FHe-GL-Q@mail.gmail.com> <bdc55144-9d72-4661-958c-3582a535b579@isocpp.org>
 <CAFk2RUb_y9r3C99s_Sqeh7dxCkqeE-j9fCP_DbH0S7+ip_pF5g@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_4481_1268614287.1475678167472"
X-Trace: blaine.gmane.org 1475678197 26783 195.159.176.226 (5 Oct 2016 14:36:37 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Wed, 5 Oct 2016 14:36:37 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDEZH3XFPIINRH6UX4CRUBEWK5L7K@isocpp.org Wed Oct 05 16:36:28 2016
Return-path: <std-proposals+bncBDEZH3XFPIINRH6UX4CRUBEWK5L7K@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ua0-f197.google.com ([209.85.217.197])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDEZH3XFPIINRH6UX4CRUBEWK5L7K@isocpp.org>)
	id 1brnIq-00042a-3l
	for gclcip-std-proposals@m.gmane.org; Wed, 05 Oct 2016 16:36:12 +0200
Original-Received: by mail-ua0-f197.google.com with SMTP id m11sf234964569uab.0
        for <gclcip-std-proposals@m.gmane.org>; Wed, 05 Oct 2016 07:36:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=DYwqn/Jepz6WiBSLBdiR7TS2ydDwP9RoaQz5D5mr73E=;
        b=DV0sXYeV7I3Vj5Yo6C6g+95v+aFTbz6FyIfzb0KKN4xh8orZA30k5MXMk1A7tnuiFa
         47Lx8t02hQ+TP9GmEfl90EkUBWsAAZ/TBRG0QHavpaDV6+nNsu25bPkwFqeYKdm3mV26
         e4SjFGkixKfqQbh66JErZh0lluxyfuP+dkca3HBJYeVapsp1c2pVwdFjGRLqv7JPNe7Y
         6X9NmlHKm9KrSXh1LCVZC5gMwJKh51ha4NCuj6MOrlGPiWdXXaZnFDC1f9HLM0GIBnNE
         RuJyOKJdnHoq4/gERP/YWRfBA9VQ0ztdq+iAj2bnCDvGqi3naCLnBw5pQdEa0gSWqelF
         xiEA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=DYwqn/Jepz6WiBSLBdiR7TS2ydDwP9RoaQz5D5mr73E=;
        b=gisIgS8HQ3x60mT62bhIsj8Me1Cn34UqQy4TjxzXYWiDnFMHCVgKwhgMfeOxoj+QO1
         vFm8i6VByqVXDmMqrrnEYUp6o5qWnYKzO6kBSpQTaYVwjUqjxSQUbnRyu5HwGHaTaaxW
         TPPoEt1seufoejtfAfQ/dhYNaTlaPRd1NtAAFtyNjKtqE8agcpjFApbfjVl3d2s6vJrr
         HgYZOQDavmBMOzuo10VvdTA2Y1VlxhNEyKzA2IbQ9Ctq6xPqi2jG48j19r1MXSlYyOA0
         fb/1/VNoPQM2Y6PTVOQyXk2maS2Oh2Ga3rkJHS3qxSoKInHmqT3JkRNCT21s+ue09H5E
         p00A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:date:from:to:message-id:in-reply-to:references
         :subject:mime-version:x-original-sender:reply-to:precedence
         :mailing-list:list-id:x-spam-checked-in-group:list-post:list-help
         :list-archive:list-subscribe:list-unsubscribe;
        bh=DYwqn/Jepz6WiBSLBdiR7TS2ydDwP9RoaQz5D5mr73E=;
        b=WKSZ4RgOs6bDXifUN5fZ9fdgv8h0PHExzARRnoGMfhwuVQzrZ1ik4kbLFe9RlO5fIu
         iES2hID7I6Cg9RLZL/+hmd1z99DsFKL+58HTSgVUsaS4/FNdmE2s4NrjCaRlRK+VPDEb
         MjUaIAfREZI3CmfyWx09PQcuQ24HWSa0tM1+xDF0wK515y9TsLiVfpDcKzuA3Hk4+brU
         HAbT4+GNlReBJEbqoLDRc3KbOCkvlvgpdiVeWF26+rL8gGtQfXo1uQyyQo0RvYizEiML
         kAn5+qoW/JHk/4eWEp78WilG+aRwt4RiNdBSHGIAOwiMMTr79zEffh20yDtCe3s/DpcN
         9uOA==
X-Gm-Message-State: AA6/9RnSU6Uq4irGn/ZdfQkfFaBOI9W2nPCvRpy8HBVsC7BlncIX7iY3NUwThhQGZq3ZPA==
X-Received: by 10.31.254.1 with SMTP id l1mr2351100vki.16.1475678173984;
        Wed, 05 Oct 2016 07:36:13 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.107.27.213 with SMTP id b204ls383077iob.41.gmail; Wed, 05 Oct
 2016 07:36:08 -0700 (PDT)
X-Received: by 10.36.137.67 with SMTP id s64mr1529819itd.1.1475678168199;
        Wed, 05 Oct 2016 07:36:08 -0700 (PDT)
In-Reply-To: <CAFk2RUb_y9r3C99s_Sqeh7dxCkqeE-j9fCP_DbH0S7+ip_pF5g@mail.gmail.com>
X-Original-Sender: gregmmarr@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:28535
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/28535>

------=_Part_4481_1268614287.1475678167472
Content-Type: multipart/alternative; 
	boundary="----=_Part_4482_242691810.1475678167472"

------=_Part_4482_242691810.1475678167472
Content-Type: text/plain; charset=UTF-8

On Wednesday, October 5, 2016 at 10:26:09 AM UTC-4, Ville Voutilainen wrote:
>
> On 5 October 2016 at 17:20, Greg Marr <greg...@gmail.com <javascript:>> 
> wrote: 
> >> > Only if you say that you want references, using "auto &" or "auto 
> &&". 
> >> > If 
> >> > you use "auto", you just get copies. 
> >> 
> >> You get a copy of the whole struct, not copies of individual bindings. 
> > 
> > 
> > That's not what's described in the paper.  Has it changed since 
>
> That's what the wording of the facility does, and what the clang 
> implementation does. 
>
> > https://isocpp.org/files/papers/p0217r0.html ? 
>
> See http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0217r1.html 
>

Thanks.  The relevant parts of that paper that significantly change this 
feature from the one I referenced before:
 

That paper incorporates feedback from the EWG session in Jacksonville as 
follows:


   

   - introduced variables are, in all cases, references to the value of the 
      initializer
      - the cv-qualifiers and ref-qualifier of the decomposition 
      declaration are applied to the reference introduced for the initializer, 
      not for the individual member aliases
   

-- 
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/590c1dd8-e59f-48d3-9e66-bb7165d1b8b3%40isocpp.org.

------=_Part_4482_242691810.1475678167472
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Wednesday, October 5, 2016 at 10:26:09 AM UTC-4, Ville =
Voutilainen wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;marg=
in-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 5 October=
 2016 at 17:20, Greg Marr &lt;<a href=3D"javascript:" target=3D"_blank" gdf=
-obfuscated-mailto=3D"gbw7lnp5BwAJ" rel=3D"nofollow" onmousedown=3D"this.hr=
ef=3D&#39;javascript:&#39;;return true;" onclick=3D"this.href=3D&#39;javasc=
ript:&#39;;return true;">greg...@gmail.com</a>&gt; wrote:
<br>&gt;&gt; &gt; Only if you say that you want references, using &quot;aut=
o &amp;&quot; or &quot;auto &amp;&amp;&quot;.
<br>&gt;&gt; &gt; If
<br>&gt;&gt; &gt; you use &quot;auto&quot;, you just get copies.
<br>&gt;&gt;
<br>&gt;&gt; You get a copy of the whole struct, not copies of individual b=
indings.
<br>&gt;
<br>&gt;
<br>&gt; That&#39;s not what&#39;s described in the paper. =C2=A0Has it cha=
nged since
<br>
<br>That&#39;s what the wording of the facility does, and what the clang
<br>implementation does.
<br>
<br>&gt; <a href=3D"https://isocpp.org/files/papers/p0217r0.html" target=3D=
"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;https://www.googl=
e.com/url?q\x3dhttps%3A%2F%2Fisocpp.org%2Ffiles%2Fpapers%2Fp0217r0.html\x26=
sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEQns86qWfphKC8OVJo1A5cTrZfGQ&#39;;retu=
rn true;" onclick=3D"this.href=3D&#39;https://www.google.com/url?q\x3dhttps=
%3A%2F%2Fisocpp.org%2Ffiles%2Fpapers%2Fp0217r0.html\x26sa\x3dD\x26sntz\x3d1=
\x26usg\x3dAFQjCNEQns86qWfphKC8OVJo1A5cTrZfGQ&#39;;return true;">https://is=
ocpp.org/files/<wbr>papers/p0217r0.html</a> ?
<br>
<br>See <a href=3D"http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/p021=
7r1.html" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#3=
9;http://www.google.com/url?q\x3dhttp%3A%2F%2Fopen-std.org%2FJTC1%2FSC22%2F=
WG21%2Fdocs%2Fpapers%2F2016%2Fp0217r1.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x=
3dAFQjCNGrJeex8qwFkuyxQj5N5i3HSnfECw&#39;;return true;" onclick=3D"this.hre=
f=3D&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fopen-std.org%2FJTC1%2F=
SC22%2FWG21%2Fdocs%2Fpapers%2F2016%2Fp0217r1.html\x26sa\x3dD\x26sntz\x3d1\x=
26usg\x3dAFQjCNGrJeex8qwFkuyxQj5N5i3HSnfECw&#39;;return true;">http://open-=
std.org/JTC1/SC22/<wbr>WG21/docs/papers/2016/p0217r1.<wbr>html</a>
<br></blockquote><div><br></div><div>Thanks. =C2=A0The relevant parts of th=
at paper that significantly change this feature from the one I referenced b=
efore:</div><div>=C2=A0</div><blockquote style=3D"margin: 0 0 0 40px; borde=
r: none; padding: 0px;"><div><span style=3D"color: rgb(0, 0, 0); font-famil=
y: Times; font-size: medium;">That paper incorporates feedback from the EWG=
 session in Jacksonville as follows:</span></div></blockquote><div><ul styl=
e=3D"color: rgb(0, 0, 0); font-family: Times; font-size: medium;"></ul></di=
v><div><ul style=3D"color: rgb(0, 0, 0); font-family: Times; font-size: med=
ium;"><ul><li>introduced variables are, in all cases, references to the val=
ue of the initializer</li><li>the cv-qualifiers and ref-qualifier of the de=
composition declaration are applied to the reference introduced for the ini=
tializer, not for the individual member aliases</li></ul></ul></div></div>

<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/590c1dd8-e59f-48d3-9e66-bb7165d1b8b3%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/590c1dd8-e59f-48d3-9e66-bb7165d1b8b3=
%40isocpp.org</a>.<br />

------=_Part_4482_242691810.1475678167472--

------=_Part_4481_1268614287.1475678167472--

.
