220 35007 <CAJnLdOaiYo9b791yyGcRoBhfoK1Nm+LP-ZgphDGO7Wxx1rOg6A@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: "'Edward Catmur' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: standard attribute for unions to pun types?
Date: Thu, 19 Oct 2017 02:28:39 +0100
Lines: 175
Approved: news@gmane.org
Message-ID: <CAJnLdOaiYo9b791yyGcRoBhfoK1Nm+LP-ZgphDGO7Wxx1rOg6A@mail.gmail.com>
References: <68af543f-b30b-447b-8709-56ccd847735a@isocpp.org>
 <5df63738-279b-44ae-be59-6e729577000d@isocpp.org> <CAJnLdOZ++Dd7pcxkzh+mbP9Ri+4LrhA9EQvX1fzvh3fTOCsFhw@mail.gmail.com>
 <9f16bfc4-8b7b-4108-bff9-1d0c2147edd6@isocpp.org> <CAJnLdOZTu_cPz6qNY519OajAyvLN1+Xo4-eVA_1E_en2W1t54g@mail.gmail.com>
 <81a9a9de-9fc7-480c-8cd2-263e2c4fae7d@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="f403045f1a9aa61656055bdc46fd"
X-Trace: blaine.gmane.org 1508376526 10656 195.159.176.226 (19 Oct 2017 01:28:46 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 19 Oct 2017 01:28:46 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDZLZTXF7UJBBSH7T7HQKGQEAGQYYQI@isocpp.org Thu Oct 19 03:28:40 2017
Return-path: <std-proposals+bncBDZLZTXF7UJBBSH7T7HQKGQEAGQYYQI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-wr0-f200.google.com ([209.85.128.200])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDZLZTXF7UJBBSH7T7HQKGQEAGQYYQI@isocpp.org>)
	id 1e4zdR-00014x-L1
	for gclcip-std-proposals@m.gmane.org; Thu, 19 Oct 2017 03:28:33 +0200
Original-Received: by mail-wr0-f200.google.com with SMTP id o44sf3283470wrf.0
        for <gclcip-std-proposals@m.gmane.org>; Wed, 18 Oct 2017 18:28:41 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1508376521; cv=pass;
        d=google.com; s=arc-20160816;
        b=wkEprbaqvkCMxhoe0bUFg2vCya7FdMklqkVD5rfO2IcIk8ypzE35mA0+oU8bj26q3V
         N1CHkyi07ZpQl5HqN0qlpMERXIuUVhx25vmwv+WOA9eCbpeyd/yJwKgZjNF6efgSy7sm
         UbRUEdURzesKJdsImG2Y7r2lk7pxW0GAB0YT43IQFZUcbjyx/j5WX4U3iwu0V8wEc8O6
         YVWacYj+MyVDPuQSYx+B2IqR91pb1ZhDe6PEXaxygCDjwyGJaBgYvm7/EiSlpkF7rLEu
         8FKui6SvYL7MgJlsY7EtoiUyecR51R/wlxvmu/qr9HqhQuFjygTe265d+3Aa3aGD1ydf
         T+SQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:to:subject:message-id:date
         :from:references:in-reply-to:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=689lQdP/u/hlQjT3Kj3vA+lcKl3dH/d98OPfc6QfxtA=;
        b=IjiVFJTMqdtqujGHBp0vxPZ0FpYzYe9rtT44hrM1xRMHZc255JN26ia50VRHOY9hIR
         Es1ZfG4HP/B14FLjs+NuoSvYsWL4Ww14b5LU1I1TCLyhwYrkL0fYLC1lUHeV01Q02t5L
         E2ciDT3YIXLUe+WM94codKV9NkGoJYX+KeW+slVCMmqA3WyiEPE9RG9SVJdsckUzoq/o
         /uRwDyj+ae5VEJ3Zn/86eWi+Tf6CJEIZ1smbVFWjugg4wtAadg4C83Nc4lGKJZIS44zZ
         Ia6iyXOZbBKboP2Rao+nhBh+EG/ObrtAT8FssYPr9amAZZWgneyEy5gduIB++FX6TWGy
         gt0A==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@googlemail.com header.s=20161025 header.b=G9mRlZng;
       spf=pass (google.com: domain of ecatmur@googlemail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=ecatmur@googlemail.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com
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:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=689lQdP/u/hlQjT3Kj3vA+lcKl3dH/d98OPfc6QfxtA=;
        b=ST/F7+h0Iuzu6RzU8RnY0BGiJK0AU3UQBo/AWBujUpWrY45Atq0Zprh2WsvQ2E5Omg
         H6ndqUZU52FjuU6sYYizHQ2dmPgZhQ4tZSAzQ5qO/3wq97Xizi4HjZtBnqPQE/VpLJdC
         sn1JXR6EJD5vrB5KKkPAVZqOBVRX+4hhF3YZSfZbDpcWNA4/Cjf66fA5QBcuk9Il16X0
         hLEy6xWSnQ7g3xO+kdVnyI0APJZV+33kCE1D0IUpQgSIi4HsQ7SkGGsJb0+uu+SAIOiJ
         CEXiRFgKF14fQGZVnKPJLFU0kw9cWJF6htGQRghPkJIZxe0A+BNA0sOQjU4dLN0a9yKG
         +2XA==
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=689lQdP/u/hlQjT3Kj3vA+lcKl3dH/d98OPfc6QfxtA=;
        b=nRfl0Mz7n0vc8NOznVOHqe7OXFIX8tg/InM6oTQfyNpWfipxrcibsoD3/wUv0DuAYh
         eIpfB1J0tFUiSoJ8+sKeSlY2p5KKZTvFbbyTllZSgBaclDUn3Zs05U0rtUQnMrpvo9yZ
         w8pDDEKoubVqCcmBVh6iZAOavmiN8CEczFQggBV4mq53CfTqWpNjgO2d4DWEi8TFeERd
         PLbkja/AZ4LOHEsz8cDaWNH3Col0oBZFjmqKqtxKbS2RKqo7EKamqVr/OWntmR97SxCj
         nIa+y+jKLxkCqYVon1TLr6ybu5tGXRDlIaqDOkHEhXdjivqSrCTkICMhpkn8OQz6naQK
         f7NA==
X-Gm-Message-State: AMCzsaVIlZmNRZ5HSQ8EXwqlwJkGDyhKgm37rXfBouciuupkP6FtJv8S
	0JK/QS2plsp6rdq39fFBPLg=
X-Google-Smtp-Source: ABhQp+SPPoRylBa+2KXFxifKyvprFgqa5M+piiM+l74bmIz/GMBICmFvxMk1PCNGez5KfbHi0tARRA==
X-Received: by 10.28.128.140 with SMTP id b134mr21124wmd.3.1508376521068;
        Wed, 18 Oct 2017 18:28:41 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.223.162.137 with SMTP id s9ls1626256wra.7.gmail; Wed, 18 Oct
 2017 18:28:40 -0700 (PDT)
X-Received: by 10.28.109.23 with SMTP id i23mr186737wmc.32.1508376520120;
        Wed, 18 Oct 2017 18:28:40 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1508376520; cv=none;
        d=google.com; s=arc-20160816;
        b=olBZi5OxwLwEBEAX+7fEkHKhWO/ofR6W2yCqeglvjnLBjM1QowTc1bn5VeW5IhB8/s
         cUiximhIOq1OJZVKl98ketbb9sZv9dD2UnzyNUeh8o8uok/dHTDo+dbxOGIBdacGQ2A+
         X7rVJ4NUcwydxfeGDYkAoX2qkj2gFp5QBvEjPJTU/2NuaCLR9AHG8A0DpV/v3fSS7MVK
         wpjY2yfxUGtK/UQuhy/UszhTxR18tLkwsMjFVDA0K8zbXWca9SWAUHTwEEjcaKRjSGnr
         WBCK1b9rzkbjNPifAd6DhOg+1YrMihc6javCHgNv53UsWk0z6DDrXmzbJ9ITmLnePYLa
         iITA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:references:in-reply-to:mime-version
         :dkim-signature:arc-authentication-results;
        bh=Kg08yFBTzad464FINnnQ325IKGU3BIQBiUa1fq3dGfA=;
        b=ALb1vgXj4n4PAe67plI6/5YkPD2cEqvj290SeZNTioojDzoIjJ0vpyB68/Sye66eTq
         jXUS7bUkY4J/4Cvv87BhFjEWjm0lG88NXpmLQCgU0/CYTKA6BzZPIHB9HZEaMoJseYic
         TUHSfpn/lib8jYJCTt5fo/5wVWEkg3KikQH+TbiszAiU9jl3uJTTZC0pp+JAlTaY4tVd
         lLKB/Kfjvqk/FUuD0SNh7jh1InDBBiqAQRhBvn/DGdkIOUyrICSj6IO1wx1ZgXvtcbLp
         q1s6ODq4JK6tfCEpwoLPmPwmxRC+i8vsfLlreS/r7XHuJ/EpzCF8LNK4AHrN8gkIn6Tb
         8Itw==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@googlemail.com header.s=20161025 header.b=G9mRlZng;
       spf=pass (google.com: domain of ecatmur@googlemail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=ecatmur@googlemail.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com
Original-Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
        by mx.google.com with SMTPS id q15sor5701929wra.61.2017.10.18.18.28.40
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Wed, 18 Oct 2017 18:28:40 -0700 (PDT)
Received-SPF: pass (google.com: domain of ecatmur@googlemail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
X-Received: by 10.223.164.138 with SMTP id g10mr7930156wrb.134.1508376519774;
 Wed, 18 Oct 2017 18:28:39 -0700 (PDT)
Original-Received: by 10.28.52.145 with HTTP; Wed, 18 Oct 2017 18:28:39 -0700 (PDT)
Original-Received: by 10.28.52.145 with HTTP; Wed, 18 Oct 2017 18:28:39 -0700 (PDT)
In-Reply-To: <81a9a9de-9fc7-480c-8cd2-263e2c4fae7d@isocpp.org>
X-Original-Sender: ecatmur@googlemail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@googlemail.com header.s=20161025 header.b=G9mRlZng;       spf=pass
 (google.com: domain of ecatmur@googlemail.com designates 209.85.220.41 as
 permitted sender) smtp.mailfrom=ecatmur@googlemail.com;       dmarc=pass
 (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com
X-Original-From: Edward Catmur <ecatmur@googlemail.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:35007
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/35007>

--f403045f1a9aa61656055bdc46fd
Content-Type: text/plain; charset="UTF-8"

On 19 Oct 2017 01:44, "Myriachan" <myriachan@gmail.com> wrote:

On Wednesday, October 18, 2017 at 5:17:51 PM UTC-7, Edward Catmur wrote:

> On 19 Oct 2017 01:00, "Myriachan" <myri...@gmail.com> wrote:
>
> The optimizer people don't like us taking pointers to union members even
> when type punning isn't involved at all:
>
> https://bugs.llvm.org/show_bug.cgi?id=34632
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82224
>
> Anyway, the question is really about what we're going to do now.  We can't
> go back and change how struct sockaddr_in6, OSVERSIONINFOEXW, etc. work.
>
>
> That's up to the respective vendors. If they need to add private
> attributes to ensure that these quasi-union types continue to work as
> documented, then so be it. But there's no need to require such facilities
> to exist on platforms that don't have to support these APIs.
>
>
Name one "hosted" (rather than "freestanding") platform that doesn't use
structures/unions in this way somewhere in their API.


Hah. Well, if there's existing practice, there's something to standardize.
But I don't think much more than the existing common initial sequence rule
is really required.


Note that in the case of sockaddr, all the compiler needs is to permit
> casts between sockaddr, sockaddr_storage and the various protocol address
> types. There is no particular need for unions to be involved per my
> understanding.
>
>
From compiler writers' perspectives, there is very little difference
between these unions and structs with a common initial sequence that get
reinterpret_cast among each other.  As an example, comment 20 in the link I
gave above shows Clang messing up when no unions are involved, in a similar
situation to how struct sockaddr works with sa_family.


Sure, once you've got pointers to different elements of the same union.
Casting between those pointers is problematic at present. This is still
only common initial sequence stuff, though; there's no type punning at
scalar level.


Melissa

-- 
You received this message because you are subscribed to a topic in the
Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this topic, visit https://groups.google.com/a/
isocpp.org/d/topic/std-proposals/mPFd9uLsus8/unsubscribe.
To unsubscribe from this group and all its topics, 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/81a9a9de-9fc7-480c-
8cd2-263e2c4fae7d%40isocpp.org
<https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/81a9a9de-9fc7-480c-8cd2-263e2c4fae7d%40isocpp.org?utm_medium=email&utm_source=footer>
..

-- 
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/CAJnLdOaiYo9b791yyGcRoBhfoK1Nm%2BLP-ZgphDGO7Wxx1rOg6A%40mail.gmail.com.

--f403045f1a9aa61656055bdc46fd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><br><div class=3D"gmail_extra"><br><div class=3D"gma=
il_quote">On 19 Oct 2017 01:44, &quot;Myriachan&quot; &lt;<a href=3D"mailto=
:myriachan@gmail.com">myriachan@gmail.com</a>&gt; wrote:<br type=3D"attribu=
tion"><blockquote class=3D"quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">On Wednesday, October 18, 2=
017 at 5:17:51 PM UTC-7, Edward Catmur wrote:<div class=3D"quoted-text"><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div dir=3D"auto"><div><div><div class=
=3D"gmail_quote">On 19 Oct 2017 01:00, &quot;Myriachan&quot; &lt;<a rel=3D"=
nofollow">myri...@gmail.com</a>&gt; wrote:<br type=3D"attribution"><blockqu=
ote style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
><div dir=3D"ltr">The optimizer people don&#39;t like us taking pointers to=
 union members even when type punning isn&#39;t involved at all:<div><br></=
div><div><a href=3D"https://bugs.llvm.org/show_bug.cgi?id=3D34632" rel=3D"n=
ofollow" target=3D"_blank">https://bugs.llvm.org/show_bug<wbr>.cgi?id=3D346=
32</a></div><div><a href=3D"https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D=
82224" rel=3D"nofollow" target=3D"_blank">https://gcc.gnu.org/bugzilla/s<wb=
r>how_bug.cgi?id=3D82224</a></div><div><br></div><div>Anyway, the question =
is really about what we&#39;re going to do now.=C2=A0 We can&#39;t go back =
and change how struct sockaddr_in6, OSVERSIONINFOEXW, etc. work.</div><div>=
</div></div></blockquote></div></div></div><div dir=3D"auto"><br></div><div=
 dir=3D"auto">That&#39;s up to the respective vendors. If they need to add =
private attributes to ensure that these quasi-union types continue to work =
as documented, then so be it. But there&#39;s no need to require such facil=
ities to exist on platforms that don&#39;t have to support these APIs.=C2=
=A0</div><div dir=3D"auto"><br></div></div></blockquote><div><br></div></di=
v><div>Name one &quot;hosted&quot; (rather than &quot;freestanding&quot;) p=
latform that doesn&#39;t use structures/unions in this way somewhere in the=
ir API.<br></div><div class=3D"quoted-text"><div></div></div></div></blockq=
uote></div></div></div><div dir=3D"auto"><br></div><div dir=3D"auto">Hah. W=
ell, if there&#39;s existing practice, there&#39;s something to standardize=
.. But I don&#39;t think much more than the existing common initial sequence=
 rule is really required.=C2=A0</div><div dir=3D"auto"><br></div><div dir=
=3D"auto"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><blockquote=
 class=3D"quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex"><div dir=3D"ltr"><div class=3D"quoted-text"><div><br></div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-=
left:1px #ccc solid;padding-left:1ex"><div dir=3D"auto"><div dir=3D"auto"><=
/div><div dir=3D"auto">Note that in the case of sockaddr, all the compiler =
needs is to permit casts between sockaddr, sockaddr_storage and the various=
 protocol address types. There is no particular need for unions to be invol=
ved per my understanding.=C2=A0</div><br></div></blockquote><div><br></div>=
</div><div>From compiler writers&#39; perspectives, there is very little di=
fference between these unions and structs with a common initial sequence th=
at get reinterpret_cast among each other.=C2=A0 As an example, comment 20 i=
n the link I gave above shows Clang messing up when no unions are involved,=
 in a similar situation to how struct sockaddr works with sa_family.</div><=
div></div></div></blockquote></div></div></div><div dir=3D"auto"><br></div>=
<div dir=3D"auto">Sure, once you&#39;ve got pointers to different elements =
of the same union. Casting between those pointers is problematic at present=
.. This is still only common initial sequence stuff, though; there&#39;s no =
type punning at scalar level.=C2=A0</div><div dir=3D"auto"><br></div><div d=
ir=3D"auto"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><blockquo=
te class=3D"quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex"><div dir=3D"ltr"><div><br></div><div></div><div>Melissa<br>=
</div></div><div class=3D"quoted-text">

<p></p>

-- <br>
You received this message because you are subscribed to a topic in the Goog=
le Groups &quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this topic, visit <a href=3D"https://groups.google.com/=
a/isocpp.org/d/topic/std-proposals/mPFd9uLsus8/unsubscribe" target=3D"_blan=
k">https://groups.google.com/a/<wbr>isocpp.org/d/topic/std-<wbr>proposals/m=
PFd9uLsus8/<wbr>unsubscribe</a>.<br>
To unsubscribe from this group and all its topics, send an email to <a href=
=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_blank">std-prop=
osals+unsubscribe@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br></div>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/81a9a9de-9fc7-480c-8cd2-263e2c4fae7d%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/81a9=
a9de-9fc7-480c-<wbr>8cd2-263e2c4fae7d%40isocpp.org</a><wbr>.<br>
</blockquote></div><br></div></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/CAJnLdOaiYo9b791yyGcRoBhfoK1Nm%2BLP-Z=
gphDGO7Wxx1rOg6A%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAJnLdOaiYo9b79=
1yyGcRoBhfoK1Nm%2BLP-ZgphDGO7Wxx1rOg6A%40mail.gmail.com</a>.<br />

--f403045f1a9aa61656055bdc46fd--

.
