220 39414 <CAANG=kXwsh37OYXvLrfTo8oFuW3q+xR-DheGYTN+DkUzwWVziA@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: =?UTF-8?B?R2HFoXBlciBBxb5tYW4=?= <gasper.azman@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Alternative proposal for mapping P0709
 Deterministic Exceptions into C
Date: Thu, 26 Jul 2018 10:24:16 +0100
Lines: 170
Approved: news@gmane.org
Message-ID: <CAANG=kXwsh37OYXvLrfTo8oFuW3q+xR-DheGYTN+DkUzwWVziA@mail.gmail.com>
References: <6a65c934-5d2a-4e75-b88d-9eaaee338bd3@isocpp.org>
 <1c229827-6d5d-45bd-8766-c3af818b2b0b@isocpp.org> <CAC+0CCP_jeR=fr7a+XVeVJ+0wm4KG9U6iEunOHk3y2qSi3jrjg@mail.gmail.com>
 <4ac80882-16fc-4ab4-9a12-64da1ef0e974@isocpp.org> <CAC+0CCPJLYt4frAh+xcSyEpA9qiEdy=O98utgxz2Or5mwMoabw@mail.gmail.com>
 <8866881c-ef1d-4c37-9242-5b1d3327c288@isocpp.org> <e8190580-cda9-4899-ba2b-9a0fd5d48073@isocpp.org>
 <363df3db-b747-449f-b95d-81d15b6c3842@isocpp.org> <ceee4153-dde7-43a3-b43f-aaf62aa01b60@isocpp.org>
 <edaab808-c155-4369-9be9-e1a0fad36265@isocpp.org> <fa71557a-d506-4f1d-b39e-590f337b8ae3@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="0000000000005b76090571e3906d"
X-Trace: blaine.gmane.org 1532596952 26598 195.159.176.226 (26 Jul 2018 09:22:32 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 26 Jul 2018 09:22:32 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDRYVJ6TVYBRBVNG43NAKGQE3BTXKWA@isocpp.org Thu Jul 26 11:22:28 2018
Return-path: <std-proposals+bncBDRYVJ6TVYBRBVNG43NAKGQE3BTXKWA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lf1-f71.google.com ([209.85.167.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDRYVJ6TVYBRBVNG43NAKGQE3BTXKWA@isocpp.org>)
	id 1ficTb-0006pz-Ua
	for gclcip-std-proposals@m.gmane.org; Thu, 26 Jul 2018 11:22:27 +0200
Original-Received: by mail-lf1-f71.google.com with SMTP id w8-v6sf134424lfe.15
        for <gclcip-std-proposals@m.gmane.org>; Thu, 26 Jul 2018 02:24:39 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1532597079; cv=pass;
        d=google.com; s=arc-20160816;
        b=ZGvjAM7O2bzIEIFBS9aApm1bdv9JB9R4orP0oPGtAL9d/wG1d5QM2H6Qkv+l/fFxRb
         DRlXYbrNuz9gC8sD2Wh659KO2yndP2uqQ+f3hMBOdwHH4watgGGcO1+WEViPMntTc2Lm
         YuRRNWC7Y61GlT1vpW51kZoKWuqtmQwyAKc3rB2xZkmvDhutdK1u7COBbSSFyXPZVg9y
         HTFn94fhKj9tfHh9JuXQVhlaMKoR8jw+RaWvpBxS/1Xl7osECoyUesYQ1oWG5gV4i+IF
         RFp9Wobu/NVlcKxhMWTB50wi+9XBhqwNkS7rm7KOeu6eRX5yMwLOLElu+G6z7goWZ726
         wfXg==
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=cYZkZQsC1nFElK7jKFST/2sd7rcRwqh5vPmMn19t8XM=;
        b=KD+GVyPEoCWGtILVRCvl6IHFJn5egJ5OrXlKKJaCCLpa3q62SwZxPCFjTD7fskTvkZ
         4kRpJyI7LC+aMEZq/2AR+/r+1KsCUL2kSUlAvjGs8unh1Kvbf+Wg0W/D6g2hf5w6QtWI
         MMJA+sVKF0oDsC2NGd08pAFtsjVy+QOd7NMctthEi0KVH7+femkCovjwX356rraWijUj
         uMrGmHnk5VjNTkKtcdv6Y2sskMrnhzllze4TyriLqcu3QQDwBBzihxgjCgp3OzCyiZSb
         1MznVtFmH72j4HloK2bBfjwhYJUnI+/aEtugO1YzY7Qzr+kfNnYjb9gLuy7D8QC8jirt
         sc3A==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=naHKWWKH;
       spf=pass (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=gasper.azman@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.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=cYZkZQsC1nFElK7jKFST/2sd7rcRwqh5vPmMn19t8XM=;
        b=AQmz50A0PpBsbazpk9K3xySbVyk312mY830ViOGhjAIHWZxgm7wSRSJ8mPB9mW9YR6
         0SnJy7kWMlE2LqHYnHSmVWLdwOlTRvxZtKNlFSMMGEbgRI8XQRrLxR8ZspPt2Z9PP7M4
         jhAhW/dP/P8RGbmpN9ZnyCWYoHYbACPwVMICRsgGlUVh2rVu6CsuaJVXSiu6+lKWQzlA
         5UWNH5iKJ0lBXI9VazewBdjYPY6tOolMwTdkbbke1DvC5KwxilaEP4N14mEV1YMOuZbN
         rrMrDxcVSabgXx5lMxXQAUP1lo3T9E9FEzPv4Ch4+v1ocLTWlAzF4l5KtXbiewKEAAPM
         Nwjw==
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=cYZkZQsC1nFElK7jKFST/2sd7rcRwqh5vPmMn19t8XM=;
        b=LzogrKpSnbWx4nfhX8HrvKmJji+i3Qoz4sHcttQ5bnNEdGdljOsJwmRPA1gAbq/Mlv
         evL7cJSqpwCdv+crpNk2O+fk6c/x/UcSiz+lwUI2aaMjKd927IqhOakOYxXRjk1GLBeO
         KmdLjAafcXkxoXHxB1VdXCUHj7Dq6QYUez7akH13Uomlyqj0ed/yqf8YWsr897bkJDHf
         JHiWSDHjVXx/KY3lgoxeRD9G0tqRWd2E3+ykqRyOVTH7emU/uBSddLP1Y+LaBIQqTk2g
         ngxIwVdioRbPq/x6079cwK4Biq66hanAItflewJipQopNXz486vp8E2OMgzpHBKd0Ouy
         MVoQ==
X-Gm-Message-State: AOUpUlG3Lp36hRaZRQa6GRQDwxQ9n5HOHnh3pgsaryQ9mUf58gIbrliA
	s8eR5B8X1ScrHCW+m94qFKS8Hw==
X-Google-Smtp-Source: AAOMgpdS2Yu5ygtCIOT2bKRegk2x7J7raiGFW+x382ojmzAHKObaWjM+g6FXuIWhZaw1qIwkjMPegA==
X-Received: by 2002:a2e:8057:: with SMTP id p23-v6mr55397ljg.29.1532597079059;
        Thu, 26 Jul 2018 02:24:39 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a2e:9ed1:: with SMTP id h17-v6ls1880822ljk.12.gmail; Thu, 26
 Jul 2018 02:24:37 -0700 (PDT)
X-Received: by 2002:a2e:8185:: with SMTP id e5-v6mr1068842ljg.93.1532597077378;
        Thu, 26 Jul 2018 02:24:37 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1532597077; cv=none;
        d=google.com; s=arc-20160816;
        b=o8YbWMVO1LEO8AwJkw8xV5hElwupSEBRasXRUZsTCSJBwQPyazxaYoVVQ9lZ7cO3Ij
         u65NrE75aBw/ndQILahQo33GgOu5XPGhOdqLsCrqxsrhscU/e8H0rrRVLhz9a0hpI/Q2
         QkfovLb6Ipzr85Nqt4RF+T0brMiofSZmYxDZ8fgSWHUtR/Y0rGAXrlBePdGwdr8suC31
         x/AxmQKS3u/zIdwcSeN9pSXgKiqzaRrL9sLgv/ubgk0uX6OaZPprj6DVbLdSNkB5Qsmu
         CHkWGvk87lyAjlkIx4H/XZZv3eXIB7hn6nLhKyKtGv5LJqJXvp2/SHRj23SkZBs6XFmO
         HD1A==
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=neoD0kMdraarjB2NQ0edLPXo+dXhnvem0BuKou1JW/s=;
        b=VyV29tFlwgm0g7Ke+T6+DxoNVacz96QEY+QzHAeoU8066RRg4WOGqlANNDMH834imQ
         iw1WB+GBQs7gvgkrBdb10P2l+07RHCliv2sTdWxud1+0KUg9sz71CmX5gItB4cUsNpDA
         VaOLuUes23YKwb/08wByjfgrP3Y/MlYEV3FFB/6sGEQiVeN6dp547Q5SbSSiyop6TGl7
         3Rfr0mcf5Z2oMkhjuuRQOrcwBoMlt00EUec9h+4rx7ULDLdL3rOwrbNOA37PA3zMHXyk
         3YaYV3Uh3kQh901kW4PUg/eu3dvopwVS115qXBaGPlPhRfvwRKkW4ZuHU9wl0JjoYD5o
         HUMg==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=naHKWWKH;
       spf=pass (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=gasper.azman@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.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 96-v6sor84733lfu.11.2018.07.26.02.24.37
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Thu, 26 Jul 2018 02:24:37 -0700 (PDT)
Received-SPF: pass (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
X-Received: by 2002:a19:eb1b:: with SMTP id j27-v6mr891732lfh.0.1532597076979;
 Thu, 26 Jul 2018 02:24:36 -0700 (PDT)
Original-Received: by 2002:ab3:416:0:0:0:0:0 with HTTP; Thu, 26 Jul 2018 02:24:16 -0700 (PDT)
In-Reply-To: <fa71557a-d506-4f1d-b39e-590f337b8ae3@isocpp.org>
X-Original-Sender: gasper.azman@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=naHKWWKH;       spf=pass
 (google.com: domain of gasper.azman@gmail.com designates 209.85.220.41 as
 permitted sender) smtp.mailfrom=gasper.azman@gmail.com;       dmarc=pass
 (p=NONE sp=QUARANTINE 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-Spam-Checked-In-Group: 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:39414
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/39414>

--0000000000005b76090571e3906d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Niall,

Do you have an updated version of your mechanism paper? Among my
colleagues, there is a lot of informal interest that Herb's paper just
doesn't address - and your paper is really good for shutting down FUD.

If you do, could you ping it through here?

Thanks,

Ga=C5=A1per

On Wed, Jul 25, 2018 at 8:47 PM, Niall Douglas <nialldouglas14@gmail.com>
wrote:

> But in short, C22 _Fails(T) maps directly onto C++ 23 throws(T).
>>>
>>
>> Pedantic note: `throws(T)` doesn't exist. `throws(<expr>)` is a
>> *conditional* throws declaration, much like `noexcept(<expr>)`. P0709
>> makes that abundantly clear.
>>
>> What you're looking for is `throws{T}`. Which P0709 treats as an
>> extension, not a required part of the proposal. So there's no guarantee =
it
>> will make it into any hypothetical C++23.
>>
>
> There may be some movement on that next revision of P0709 in order to eas=
e
> things for WG14.
>
>
>>
>> The only difference is auto-propagation, so a _Fails(T) if unhandled
>>> results in a failure to compile, whereas a throws(T) if unhandled
>>> propagates upwards.
>>>
>>> This is what WG14 asked for. As C++ 23 would surely be incorporating C2=
2
>>> into itself, whatever goes into C also goes in C++.
>>>
>>
>> That's not how C++ has worked since 1998. C++11 did not incorporate C99
>> wholesale; it only took specific things from it. Similarly, C++14/17/20 =
did
>> not adopt C11 wholesale. The two languages are *diverging*.
>>
>
>> So why should we expect C++23 to adopt C22 in this way?
>>
>> Both convenors of WG14 and WG21 want coevolution on this feature,
> especially as it makes it much easier to bring C++ contracts into C. That
> doesn't mean it will happen of course. But it does mean that right now,
> that's the aim, until either committee conclusively decides otherwise.
>
> Niall
>
> --
> 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/fa71557a-d506-4f1d-
> b39e-590f337b8ae3%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/fa71557a-d5=
06-4f1d-b39e-590f337b8ae3%40isocpp.org?utm_medium=3Demail&utm_source=3Dfoot=
er>
> .
>

--=20
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 e=
mail 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/CAANG%3DkXwsh37OYXvLrfTo8oFuW3q%2BxR-DheGYTN%2BD=
kUzwWVziA%40mail.gmail.com.

--0000000000005b76090571e3906d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Niall,<div><br></div><div>Do you have an updated version o=
f your mechanism paper? Among my colleagues, there is a lot of informal int=
erest that Herb&#39;s paper just doesn&#39;t address - and your paper is re=
ally good for shutting down FUD.</div><div><br></div><div>If you do, could =
you ping it through here?</div><div><br></div><div>Thanks,</div><div><br></=
div><div>Ga=C5=A1per</div></div><div class=3D"gmail_extra"><br><div class=
=3D"gmail_quote">On Wed, Jul 25, 2018 at 8:47 PM, Niall Douglas <span dir=
=3D"ltr">&lt;<a href=3D"mailto:nialldouglas14@gmail.com" target=3D"_blank">=
nialldouglas14@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmai=
l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left=
:1ex"><div dir=3D"ltr"><span class=3D""><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:=
1ex"><div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin:0;m=
argin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div>But in s=
hort, C22 _Fails(T) maps directly onto C++ 23 throws(T).</div></blockquote>=
<div><br></div><div>Pedantic note: `throws(T)` doesn&#39;t exist. `throws(&=
lt;expr&gt;)` is a <i>conditional</i> throws declaration, much like `noexce=
pt(&lt;expr&gt;)`. P0709 makes that abundantly clear.</div><div><br></div><=
div>What you&#39;re looking for is `throws{T}`. Which P0709 treats as an ex=
tension, not a required part of the proposal. So there&#39;s no guarantee i=
t will make it into any hypothetical C++23.</div></div></blockquote><div><b=
r></div></span><div>There may be some movement on that next revision of P07=
09 in order to ease things for WG14.</div><span class=3D""><div>=C2=A0</div=
><blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;bord=
er-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><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>The only difference is auto-prop=
agation, so a _Fails(T) if unhandled results in a failure to compile, where=
as a throws(T) if unhandled propagates upwards.</div><div><br></div><div>Th=
is is what WG14 asked for. As C++ 23 would surely be incorporating C22 into=
 itself, whatever goes into C also goes in C++.</div></blockquote><div><br>=
</div><div>That&#39;s not how C++ has worked since 1998. C++11 did not inco=
rporate C99 wholesale; it only took specific things from it. Similarly, C++=
14/17/20 did not adopt C11 wholesale. The two languages are <i>diverging</i=
>.<br></div></div></blockquote><blockquote class=3D"gmail_quote" style=3D"m=
argin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div=
 dir=3D"ltr"><div><br></div><div>So why should we expect C++23 to adopt C22=
 in this way?<br></div><div><br></div></div></blockquote></span><div>Both c=
onvenors of WG14 and WG21 want coevolution on this feature, especially as i=
t makes it much easier to bring C++ contracts into C. That doesn&#39;t mean=
 it will happen of course. But it does mean that right now, that&#39;s the =
aim, until either committee conclusively decides otherwise.</div><div><br><=
/div><div>Niall</div><div><br></div></div><span class=3D"">

<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" target=3D"_=
blank">std-proposals+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></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/fa71557a-d506-4f1d-b39e-590f337b8ae3%=
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/fa71=
557a-d506-4f1d-<wbr>b39e-590f337b8ae3%40isocpp.org</a><wbr>.<br>
</blockquote></div><br></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/CAANG%3DkXwsh37OYXvLrfTo8oFuW3q%2BxR-=
DheGYTN%2BDkUzwWVziA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAANG%3DkXw=
sh37OYXvLrfTo8oFuW3q%2BxR-DheGYTN%2BDkUzwWVziA%40mail.gmail.com</a>.<br />

--0000000000005b76090571e3906d--

.
