Topic: [proposal] specify behavior in case of exception
Author: crusader.mike@gmail.com
Date: Tue, 22 Aug 2017 22:37:00 -0700 (PDT)
Raw View
------=_Part_2375_1737912579.1503466620075
Content-Type: multipart/alternative;
boundary="----=_Part_2376_1376716934.1503466620075"
------=_Part_2376_1376716934.1503466620075
Content-Type: text/plain; charset="UTF-8"
Hi,
I looked around this forum and realized that it is populated by the same
people as discussion forum. Premises for this proposal were discussed there
few days ago and some of you probably remember it. It makes my task a bit
easier. :)
Here is the draft:
https://github.com/crusader-mike/misc/blob/master/D0770R0.md
Here is what I am looking for:
- arguments why it is not going to work -- these have to be well supported.
As of now I identified two potential problems:
- it may not be possible to implement no-fail "throw
<special-exception>" in every implementation
- implementation may not have good way to check for "exception storage
overflow"
both of these don't apply to GCC (it seems), but I have no idea about
other implementations...
- style and language corrections are welcome too (English is my 3rd
language and I know it is far from being perfect)
- any other things you consider important
I am planning to wait for few days and then (depending on outcome of
discussion) either officially submit or discard it.
Thank you.
Regards,
Michael.
--
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/32371a6e-9717-4e31-b939-4cb2d6f09c88%40isocpp.org.
------=_Part_2376_1376716934.1503466620075
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hi,<div><br></div><div>I looked around this forum and real=
ized that it is populated by the same people as discussion forum. Premises =
for this proposal were discussed there few days ago and some of you probabl=
y remember it. It makes my task a bit easier. :)</div><div><br></div><div>H=
ere is the draft:</div><div>https://github.com/crusader-mike/misc/blob/mast=
er/D0770R0.md<br></div><div><br></div><div>Here is what I am looking for:</=
div><div>- arguments why it is not going to work -- these have to be well s=
upported. As of now I identified two potential problems:</div><div>=C2=A0 =
=C2=A0 - it may not be possible to implement no-fail "throw <specia=
l-exception>" in every implementation</div><div>=C2=A0 =C2=A0 - imp=
lementation may not have good way to check for "exception storage over=
flow"</div><div>=C2=A0 both of these don't apply to GCC (it seems)=
, but I have no idea about other implementations...</div><div>- style and l=
anguage corrections are welcome too (English is my 3rd language and I know =
it is far from being perfect)</div><div>- any other things you consider imp=
ortant</div><div><br></div><div>I am planning to wait for few days and then=
(depending on outcome of discussion) either officially submit or discard i=
t.</div><div><br></div><div>Thank you.</div><div><br></div><div>Regards,</d=
iv><div>Michael.</div><div><br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/32371a6e-9717-4e31-b939-4cb2d6f09c88%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/32371a6e-9717-4e31-b939-4cb2d6f09c88=
%40isocpp.org</a>.<br />
------=_Part_2376_1376716934.1503466620075--
------=_Part_2375_1737912579.1503466620075--
.
Author: Bryce Glover <randomdsdevel@gmail.com>
Date: Wed, 23 Aug 2017 18:31:35 -0400
Raw View
--Apple-Mail=_DDA4B5DF-D52A-4583-9A9D-79582D6CD70D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
> On Aug 23, 2017, at 6:13 PM, std-proposals@isocpp.org wrote:
>=20
> Hi,
> =20
> I looked around this forum and realized that it is populated by the same=
=20
> people as discussion forum. Premises for this proposal were discussed the=
re=20
> few days ago and some of you probably remember it. It makes my task a bit=
=20
> easier. :)
> =20
> Here is the draft:
> https://github.com/crusader-mike/misc/blob/master/D0770R0.md <https://git=
hub.com/crusader-mike/misc/blob/master/D0770R0.md>
> =20
> Here is what I am looking for:
> - arguments why it is not going to work -- these have to be well supporte=
d.=20
> As of now I identified two potential problems:
> - it may not be possible to implement no-fail "throw=20
> <special-exception>" in every implementation
> - implementation may not have good way to check for "exception storage=20
> overflow"
> both of these don't apply to GCC (it seems), but I have no idea about=20
> other implementations...
> - style and language corrections are welcome too (English is my 3rd=20
> language and I know it is far from being perfect)
> - any other things you consider important
> =20
> I am planning to wait for few days and then (depending on outcome of=20
> discussion) either officially submit or discard it.
> =20
> Thank you.
> =20
> Regards,
> Michael.
Your proposal=E2=80=99s section numbering gets a little funky between =
its =E2=80=98Introduction (and motivation)=E2=80=99 and the sections that f=
ollow it: it starts at =E2=80=981,=E2=80=99 skips =E2=80=982,=E2=80=99 the=
n continues from =E2=80=983.=E2=80=99 Was there an additional section ther=
e in an earlier draft whose contents you later either discarded or merged i=
nto another section, perhaps the previous one? =20
Curious,=20
Bryce Glover
RandomDSdevel@gmail.com
--=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/DE4E16E3-B259-4ECE-8B9A-6A09902FEB2C%40gmail.com=
..
--Apple-Mail=_DDA4B5DF-D52A-4583-9A9D-79582D6CD70D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="UTF-8"
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><div><blockquote t=
ype=3D"cite" class=3D""><div class=3D"">On Aug 23, 2017, at 6:13 PM, <a hre=
f=3D"mailto:std-proposals@isocpp.org" class=3D"">std-proposals@isocpp.org</=
a> wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><spa=
n style=3D"color: rgb(46, 46, 46); font-family: arial; font-size: inherit; =
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-=
spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-t=
ransform: none; white-space: normal; widows: auto; word-spacing: 0px; -webk=
it-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: non=
e; display: inline !important;" class=3D"">Hi,</span><br style=3D"color: rg=
b(46, 46, 46); font-family: arial; font-style: normal; font-variant-caps: n=
ormal; font-weight: normal; letter-spacing: normal; orphans: auto; text-ali=
gn: start; text-indent: 0px; text-transform: none; white-space: normal; wid=
ows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-co=
lor: rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46);=
font-family: arial; font-size: inherit; font-style: normal; font-variant-c=
aps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; te=
xt-align: start; text-indent: 0px; text-transform: none; white-space: norma=
l; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgro=
und-color: rgb(255, 255, 255); float: none; display: inline !important;" cl=
ass=3D""> </span><br style=3D"color: rgb(46, 46, 46); font-family: ari=
al; font-style: normal; font-variant-caps: normal; font-weight: normal; let=
ter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; te=
xt-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -=
webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=
=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; font-size:=
inherit; font-style: normal; font-variant-caps: normal; font-weight: norma=
l; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0=
px; text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); =
float: none; display: inline !important;" class=3D"">I looked around this f=
orum and realized that it is populated by the same<span class=3D"Apple-conv=
erted-space"> </span></span><br style=3D"color: rgb(46, 46, 46); font-=
family: arial; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; orphans: auto; text-align: start; text-inde=
nt: 0px; text-transform: none; white-space: normal; widows: auto; word-spac=
ing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 2=
55);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial;=
font-size: inherit; font-style: normal; font-variant-caps: normal; font-we=
ight: normal; letter-spacing: normal; orphans: auto; text-align: start; tex=
t-indent: 0px; text-transform: none; white-space: normal; widows: auto; wor=
d-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, =
255, 255); float: none; display: inline !important;" class=3D"">people as d=
iscussion forum. Premises for this proposal were discussed there<span class=
=3D"Apple-converted-space"> </span></span><br style=3D"color: rgb(46, =
46, 46); font-family: arial; font-style: normal; font-variant-caps: normal;=
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: st=
art; text-indent: 0px; text-transform: none; white-space: normal; widows: a=
uto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: r=
gb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-=
family: arial; font-size: inherit; font-style: normal; font-variant-caps: n=
ormal; font-weight: normal; letter-spacing: normal; orphans: auto; text-ali=
gn: start; text-indent: 0px; text-transform: none; white-space: normal; wid=
ows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-co=
lor: rgb(255, 255, 255); float: none; display: inline !important;" class=3D=
"">few days ago and some of you probably remember it. It makes my task a bi=
t<span class=3D"Apple-converted-space"> </span></span><br style=3D"col=
or: rgb(46, 46, 46); font-family: arial; font-style: normal; font-variant-c=
aps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; te=
xt-align: start; text-indent: 0px; text-transform: none; white-space: norma=
l; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgro=
und-color: rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46=
, 46); font-family: arial; font-size: inherit; font-style: normal; font-var=
iant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: au=
to; text-align: start; text-indent: 0px; text-transform: none; white-space:=
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; b=
ackground-color: rgb(255, 255, 255); float: none; display: inline !importan=
t;" class=3D"">easier. :)</span><br style=3D"color: rgb(46, 46, 46); font-f=
amily: arial; font-style: normal; font-variant-caps: normal; font-weight: n=
ormal; letter-spacing: normal; orphans: auto; text-align: start; text-inden=
t: 0px; text-transform: none; white-space: normal; widows: auto; word-spaci=
ng: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 25=
5);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; =
font-size: inherit; font-style: normal; font-variant-caps: normal; font-wei=
ght: normal; letter-spacing: normal; orphans: auto; text-align: start; text=
-indent: 0px; text-transform: none; white-space: normal; widows: auto; word=
-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 2=
55, 255); float: none; display: inline !important;" class=3D""> </span=
><br style=3D"color: rgb(46, 46, 46); font-family: arial; font-style: norma=
l; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: none; w=
hite-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-wi=
dth: 0px; background-color: rgb(255, 255, 255);" class=3D""><span style=3D"=
color: rgb(46, 46, 46); font-family: arial; font-size: inherit; font-style:=
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: no=
rmal; orphans: auto; text-align: start; text-indent: 0px; text-transform: n=
one; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-str=
oke-width: 0px; background-color: rgb(255, 255, 255); float: none; display:=
inline !important;" class=3D"">Here is the draft:</span><br style=3D"color=
: rgb(46, 46, 46); font-family: arial; font-style: normal; font-variant-cap=
s: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text=
-align: start; text-indent: 0px; text-transform: none; white-space: normal;=
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgroun=
d-color: rgb(255, 255, 255);" class=3D""><a href=3D"https://github.com/crus=
ader-mike/misc/blob/master/D0770R0.md" style=3D"font-family: arial; font-st=
yle: normal; font-variant-caps: normal; font-weight: normal; letter-spacing=
: normal; orphans: auto; text-align: start; text-indent: 0px; text-transfor=
m: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text=
-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=3D"">https=
://github.com/crusader-mike/misc/blob/master/D0770R0.md</a><br style=3D"col=
or: rgb(46, 46, 46); font-family: arial; font-style: normal; font-variant-c=
aps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; te=
xt-align: start; text-indent: 0px; text-transform: none; white-space: norma=
l; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgro=
und-color: rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46=
, 46); font-family: arial; font-size: inherit; font-style: normal; font-var=
iant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: au=
to; text-align: start; text-indent: 0px; text-transform: none; white-space:=
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; b=
ackground-color: rgb(255, 255, 255); float: none; display: inline !importan=
t;" class=3D""> </span><br style=3D"color: rgb(46, 46, 46); font-famil=
y: arial; font-style: normal; font-variant-caps: normal; font-weight: norma=
l; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0=
px; text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"=
class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; font=
-size: inherit; font-style: normal; font-variant-caps: normal; font-weight:=
normal; letter-spacing: normal; orphans: auto; text-align: start; text-ind=
ent: 0px; text-transform: none; white-space: normal; widows: auto; word-spa=
cing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, =
255); float: none; display: inline !important;" class=3D"">Here is what I a=
m looking for:</span><br style=3D"color: rgb(46, 46, 46); font-family: aria=
l; font-style: normal; font-variant-caps: normal; font-weight: normal; lett=
er-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; tex=
t-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -w=
ebkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=
=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; font-size:=
inherit; font-style: normal; font-variant-caps: normal; font-weight: norma=
l; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0=
px; text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); =
float: none; display: inline !important;" class=3D"">- arguments why it is =
not going to work -- these have to be well supported.<span class=3D"Apple-c=
onverted-space"> </span></span><br style=3D"color: rgb(46, 46, 46); fo=
nt-family: arial; font-style: normal; font-variant-caps: normal; font-weigh=
t: normal; letter-spacing: normal; orphans: auto; text-align: start; text-i=
ndent: 0px; text-transform: none; white-space: normal; widows: auto; word-s=
pacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255=
, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: ari=
al; font-size: inherit; font-style: normal; font-variant-caps: normal; font=
-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; widows: auto; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(25=
5, 255, 255); float: none; display: inline !important;" class=3D"">As of no=
w I identified two potential problems:</span><br style=3D"color: rgb(46, 46=
, 46); font-family: arial; font-style: normal; font-variant-caps: normal; f=
ont-weight: normal; letter-spacing: normal; orphans: auto; text-align: star=
t; text-indent: 0px; text-transform: none; white-space: normal; widows: aut=
o; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb=
(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-fa=
mily: arial; font-size: inherit; font-style: normal; font-variant-caps: nor=
mal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align=
: start; text-indent: 0px; text-transform: none; white-space: normal; widow=
s: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-colo=
r: rgb(255, 255, 255); float: none; display: inline !important;" class=3D""=
>- it may not be possible to implement no-fail "throw<span class=3D"Apple-c=
onverted-space"> </span></span><br style=3D"color: rgb(46, 46, 46); fo=
nt-family: arial; font-style: normal; font-variant-caps: normal; font-weigh=
t: normal; letter-spacing: normal; orphans: auto; text-align: start; text-i=
ndent: 0px; text-transform: none; white-space: normal; widows: auto; word-s=
pacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255=
, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: ari=
al; font-size: inherit; font-style: normal; font-variant-caps: normal; font=
-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; widows: auto; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(25=
5, 255, 255); float: none; display: inline !important;" class=3D""><spec=
ial-exception>" in every implementation</span><br style=3D"color: rgb(46=
, 46, 46); font-family: arial; font-style: normal; font-variant-caps: norma=
l; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; widows:=
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color:=
rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); fon=
t-family: arial; font-size: inherit; font-style: normal; font-variant-caps:=
normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-a=
lign: start; text-indent: 0px; text-transform: none; white-space: normal; w=
idows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-=
color: rgb(255, 255, 255); float: none; display: inline !important;" class=
=3D"">- implementation may not have good way to check for "exception storag=
e<span class=3D"Apple-converted-space"> </span></span><br style=3D"col=
or: rgb(46, 46, 46); font-family: arial; font-style: normal; font-variant-c=
aps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; te=
xt-align: start; text-indent: 0px; text-transform: none; white-space: norma=
l; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgro=
und-color: rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46=
, 46); font-family: arial; font-size: inherit; font-style: normal; font-var=
iant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: au=
to; text-align: start; text-indent: 0px; text-transform: none; white-space:=
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; b=
ackground-color: rgb(255, 255, 255); float: none; display: inline !importan=
t;" class=3D"">overflow"</span><br style=3D"color: rgb(46, 46, 46); font-fa=
mily: arial; font-style: normal; font-variant-caps: normal; font-weight: no=
rmal; letter-spacing: normal; orphans: auto; text-align: start; text-indent=
: 0px; text-transform: none; white-space: normal; widows: auto; word-spacin=
g: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255=
);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; f=
ont-size: inherit; font-style: normal; font-variant-caps: normal; font-weig=
ht: normal; letter-spacing: normal; orphans: auto; text-align: start; text-=
indent: 0px; text-transform: none; white-space: normal; widows: auto; word-=
spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 25=
5, 255); float: none; display: inline !important;" class=3D"">both of these=
don't apply to GCC (it seems), but I have no idea about<span class=3D"Appl=
e-converted-space"> </span></span><br style=3D"color: rgb(46, 46, 46);=
font-family: arial; font-style: normal; font-variant-caps: normal; font-we=
ight: normal; letter-spacing: normal; orphans: auto; text-align: start; tex=
t-indent: 0px; text-transform: none; white-space: normal; widows: auto; wor=
d-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, =
255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: =
arial; font-size: inherit; font-style: normal; font-variant-caps: normal; f=
ont-weight: normal; letter-spacing: normal; orphans: auto; text-align: star=
t; text-indent: 0px; text-transform: none; white-space: normal; widows: aut=
o; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb=
(255, 255, 255); float: none; display: inline !important;" class=3D"">other=
implementations...</span><br style=3D"color: rgb(46, 46, 46); font-family:=
arial; font-style: normal; font-variant-caps: normal; font-weight: normal;=
letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px=
; text-transform: none; white-space: normal; widows: auto; word-spacing: 0p=
x; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" c=
lass=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; font-s=
ize: inherit; font-style: normal; font-variant-caps: normal; font-weight: n=
ormal; letter-spacing: normal; orphans: auto; text-align: start; text-inden=
t: 0px; text-transform: none; white-space: normal; widows: auto; word-spaci=
ng: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 25=
5); float: none; display: inline !important;" class=3D"">- style and langua=
ge corrections are welcome too (English is my 3rd<span class=3D"Apple-conve=
rted-space"> </span></span><br style=3D"color: rgb(46, 46, 46); font-f=
amily: arial; font-style: normal; font-variant-caps: normal; font-weight: n=
ormal; letter-spacing: normal; orphans: auto; text-align: start; text-inden=
t: 0px; text-transform: none; white-space: normal; widows: auto; word-spaci=
ng: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 25=
5);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; =
font-size: inherit; font-style: normal; font-variant-caps: normal; font-wei=
ght: normal; letter-spacing: normal; orphans: auto; text-align: start; text=
-indent: 0px; text-transform: none; white-space: normal; widows: auto; word=
-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 2=
55, 255); float: none; display: inline !important;" class=3D"">language and=
I know it is far from being perfect)</span><br style=3D"color: rgb(46, 46,=
46); font-family: arial; font-style: normal; font-variant-caps: normal; fo=
nt-weight: normal; letter-spacing: normal; orphans: auto; text-align: start=
; text-indent: 0px; text-transform: none; white-space: normal; widows: auto=
; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(=
255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-fam=
ily: arial; font-size: inherit; font-style: normal; font-variant-caps: norm=
al; font-weight: normal; letter-spacing: normal; orphans: auto; text-align:=
start; text-indent: 0px; text-transform: none; white-space: normal; widows=
: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color=
: rgb(255, 255, 255); float: none; display: inline !important;" class=3D"">=
- any other things you consider important</span><br style=3D"color: rgb(46,=
46, 46); font-family: arial; font-style: normal; font-variant-caps: normal=
; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: s=
tart; text-indent: 0px; text-transform: none; white-space: normal; widows: =
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: =
rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font=
-family: arial; font-size: inherit; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-al=
ign: start; text-indent: 0px; text-transform: none; white-space: normal; wi=
dows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-c=
olor: rgb(255, 255, 255); float: none; display: inline !important;" class=
=3D""> </span><br style=3D"color: rgb(46, 46, 46); font-family: arial;=
font-style: normal; font-variant-caps: normal; font-weight: normal; letter=
-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-=
transform: none; white-space: normal; widows: auto; word-spacing: 0px; -web=
kit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=3D=
""><span style=3D"color: rgb(46, 46, 46); font-family: arial; font-size: in=
herit; font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px;=
text-transform: none; white-space: normal; widows: auto; word-spacing: 0px=
; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); flo=
at: none; display: inline !important;" class=3D"">I am planning to wait for=
few days and then (depending on outcome of<span class=3D"Apple-converted-s=
pace"> </span></span><br style=3D"color: rgb(46, 46, 46); font-family:=
arial; font-style: normal; font-variant-caps: normal; font-weight: normal;=
letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px=
; text-transform: none; white-space: normal; widows: auto; word-spacing: 0p=
x; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" c=
lass=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; font-s=
ize: inherit; font-style: normal; font-variant-caps: normal; font-weight: n=
ormal; letter-spacing: normal; orphans: auto; text-align: start; text-inden=
t: 0px; text-transform: none; white-space: normal; widows: auto; word-spaci=
ng: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 25=
5); float: none; display: inline !important;" class=3D"">discussion) either=
officially submit or discard it.</span><br style=3D"color: rgb(46, 46, 46)=
; font-family: arial; font-style: normal; font-variant-caps: normal; font-w=
eight: normal; letter-spacing: normal; orphans: auto; text-align: start; te=
xt-indent: 0px; text-transform: none; white-space: normal; widows: auto; wo=
rd-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255,=
255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); font-family:=
arial; font-size: inherit; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: sta=
rt; text-indent: 0px; text-transform: none; white-space: normal; widows: au=
to; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rg=
b(255, 255, 255); float: none; display: inline !important;" class=3D"">&nbs=
p;</span><br style=3D"color: rgb(46, 46, 46); font-family: arial; font-styl=
e: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; orphans: auto; text-align: start; text-indent: 0px; text-transform:=
none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-s=
troke-width: 0px; background-color: rgb(255, 255, 255);" class=3D""><span s=
tyle=3D"color: rgb(46, 46, 46); font-family: arial; font-size: inherit; fon=
t-style: normal; font-variant-caps: normal; font-weight: normal; letter-spa=
cing: normal; orphans: auto; text-align: start; text-indent: 0px; text-tran=
sform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-=
text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; =
display: inline !important;" class=3D"">Thank you.</span><br style=3D"color=
: rgb(46, 46, 46); font-family: arial; font-style: normal; font-variant-cap=
s: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text=
-align: start; text-indent: 0px; text-transform: none; white-space: normal;=
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgroun=
d-color: rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, =
46); font-family: arial; font-size: inherit; font-style: normal; font-varia=
nt-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto=
; text-align: start; text-indent: 0px; text-transform: none; white-space: n=
ormal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; bac=
kground-color: rgb(255, 255, 255); float: none; display: inline !important;=
" class=3D""> </span><br style=3D"color: rgb(46, 46, 46); font-family:=
arial; font-style: normal; font-variant-caps: normal; font-weight: normal;=
letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px=
; text-transform: none; white-space: normal; widows: auto; word-spacing: 0p=
x; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" c=
lass=3D""><span style=3D"color: rgb(46, 46, 46); font-family: arial; font-s=
ize: inherit; font-style: normal; font-variant-caps: normal; font-weight: n=
ormal; letter-spacing: normal; orphans: auto; text-align: start; text-inden=
t: 0px; text-transform: none; white-space: normal; widows: auto; word-spaci=
ng: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 25=
5); float: none; display: inline !important;" class=3D"">Regards,</span><br=
style=3D"color: rgb(46, 46, 46); font-family: arial; font-style: normal; f=
ont-variant-caps: normal; font-weight: normal; letter-spacing: normal; orph=
ans: auto; text-align: start; text-indent: 0px; text-transform: none; white=
-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width:=
0px; background-color: rgb(255, 255, 255);" class=3D""><span style=3D"colo=
r: rgb(46, 46, 46); font-family: arial; font-size: inherit; font-style: nor=
mal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal=
; orphans: auto; text-align: start; text-indent: 0px; text-transform: none;=
white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-=
width: 0px; background-color: rgb(255, 255, 255); float: none; display: inl=
ine !important;" class=3D"">Michael.</span></div></blockquote></div><br cla=
ss=3D""><div class=3D""> Your proposal=E2=80=99s section=
numbering gets a little funky between its =E2=80=98Introduction (and motiv=
ation)=E2=80=99 and the sections that follow it: it starts at =E2=80=
=981,=E2=80=99 skips =E2=80=982,=E2=80=99 then continues from =E2=80=983.=
=E2=80=99 Was there an additional section there in an earlier draft w=
hose contents you later either discarded or merged into another section, pe=
rhaps the previous one? </div><br class=3D""><div class=3D"">
<div style=3D"color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; t=
ext-align: start; text-indent: 0px; text-transform: none; white-space: norm=
al; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-w=
rap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-=
space;" class=3D""><div style=3D"color: rgb(0, 0, 0); letter-spacing: norma=
l; orphans: auto; text-align: start; text-indent: 0px; text-transform: none=
; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke=
-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-=
break: after-white-space;" class=3D""><div style=3D"color: rgb(0, 0, 0); le=
tter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; t=
ext-transform: none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><div class=3D"">Cu=
rious, </div><div class=3D""> Bryce Glover</div><di=
v class=3D""> <a href=3D"mailto:RandomDSdevel@gmail.com"=
class=3D"">RandomDSdevel@gmail.com</a></div></div></div></div></div></body=
></html>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/DE4E16E3-B259-4ECE-8B9A-6A09902FEB2C%=
40gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/DE4E16E3-B259-4ECE-8B9A-6A09902FEB2C%=
40gmail.com</a>.<br />
--Apple-Mail=_DDA4B5DF-D52A-4583-9A9D-79582D6CD70D--
.
Author: crusader.mike@gmail.com
Date: Thu, 24 Aug 2017 00:04:09 -0700 (PDT)
Raw View
------=_Part_679_1802243685.1503558249537
Content-Type: multipart/alternative;
boundary="----=_Part_680_882279494.1503558249537"
------=_Part_680_882279494.1503558249537
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Yes, you are correct. I got rid of motivation section (it was basically=20
repeating the same thing as introduction just in different words). Fixed.=
=20
Thank you!
On Wednesday, August 23, 2017 at 5:31:45 PM UTC-5, Bryce Glover wrote:
>
> On Aug 23, 2017, at 6:13 PM, std-pr...@isocpp.org <javascript:> wrote:
>
> Hi,
> =20
> I looked around this forum and realized that it is populated by the same=
=20
> people as discussion forum. Premises for this proposal were discussed the=
re
> =20
> few days ago and some of you probably remember it. It makes my task a bit=
=20
> easier. :)
> =20
> Here is the draft:
> https://github.com/crusader-mike/misc/blob/master/D0770R0.md
> =20
> Here is what I am looking for:
> - arguments why it is not going to work -- these have to be well supporte=
d.
> =20
> As of now I identified two potential problems:
> - it may not be possible to implement no-fail "throw=20
> <special-exception>" in every implementation
> - implementation may not have good way to check for "exception storage=20
> overflow"
> both of these don't apply to GCC (it seems), but I have no idea about=20
> other implementations...
> - style and language corrections are welcome too (English is my 3rd=20
> language and I know it is far from being perfect)
> - any other things you consider important
> =20
> I am planning to wait for few days and then (depending on outcome of=20
> discussion) either officially submit or discard it.
> =20
> Thank you.
> =20
> Regards,
> Michael.
>
>
> Your proposal=E2=80=99s section numbering gets a little funky betwee=
n its=20
> =E2=80=98Introduction (and motivation)=E2=80=99 and the sections that fol=
low it: it starts=20
> at =E2=80=981,=E2=80=99 skips =E2=80=982,=E2=80=99 then continues from =
=E2=80=983.=E2=80=99 Was there an additional=20
> section there in an earlier draft whose contents you later either discard=
ed=20
> or merged into another section, perhaps the previous one? =20
>
> Curious,=20
> Bryce Glover
> Random...@gmail.com <javascript:>
>
--=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/192efd44-a045-4488-bc89-7e0d42a7d4b8%40isocpp.or=
g.
------=_Part_680_882279494.1503558249537
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Yes, you are correct. I got rid of motivation section (it =
was basically repeating the same thing as introduction just in different wo=
rds). Fixed. Thank you!<br><br>On Wednesday, August 23, 2017 at 5:31:45 PM =
UTC-5, Bryce Glover wrote:<blockquote class=3D"gmail_quote" style=3D"margin=
: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div=
style=3D"word-wrap:break-word"><div><blockquote type=3D"cite"><div>On Aug =
23, 2017, at 6:13 PM, <a href=3D"javascript:" target=3D"_blank" gdf-obfusca=
ted-mailto=3D"lqLSus8mCwAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D=
9;javascript:';return true;" onclick=3D"this.href=3D'javascript:=
9;;return true;">std-pr...@isocpp.org</a> wrote:</div><br><div><span style=
=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:norm=
al;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0p=
x;text-transform:none;white-space:normal;word-spacing:0px;background-color:=
rgb(255,255,255);float:none;display:inline!important">Hi,</span><br style=
=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-weight:nor=
mal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:n=
one;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">=
<span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font=
-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;tex=
t-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;backgr=
ound-color:rgb(255,255,255);float:none;display:inline!important">=C2=A0</sp=
an><br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;fon=
t-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text=
-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(25=
5,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:=
inherit;font-style:normal;font-weight:normal;letter-spacing:normal;text-ali=
gn:start;text-indent:0px;text-transform:none;white-space:normal;word-spacin=
g:0px;background-color:rgb(255,255,255);float:none;display:inline!important=
">I looked around this forum and realized that it is populated by the same<=
span>=C2=A0</span></span><br style=3D"color:rgb(46,46,46);font-family:arial=
;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:star=
t;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;b=
ackground-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-f=
amily:arial;font-size:inherit;font-style:normal;font-weight:normal;letter-s=
pacing:normal;text-align:start;text-indent:0px;text-transform:none;white-sp=
ace:normal;word-spacing:0px;background-color:rgb(255,255,255);float:none;di=
splay:inline!important">people as discussion forum. Premises for this propo=
sal were discussed there<span>=C2=A0</span></span><br style=3D"color:rgb(46=
,46,46);font-family:arial;font-style:normal;font-weight:normal;letter-spaci=
ng:normal;text-align:start;text-indent:0px;text-transform:none;white-space:=
normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style=3D"c=
olor:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:normal;fo=
nt-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;tex=
t-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(2=
55,255,255);float:none;display:inline!important">few days ago and some of y=
ou probably remember it. It makes my task a bit<span>=C2=A0</span></span><b=
r style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-wei=
ght:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tran=
sform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255=
,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inher=
it;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:st=
art;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px=
;background-color:rgb(255,255,255);float:none;display:inline!important">eas=
ier. :)</span><br style=3D"color:rgb(46,46,46);font-family:arial;font-style=
:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-inde=
nt:0px;text-transform:none;white-space:normal;word-spacing:0px;background-c=
olor:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial=
;font-size:inherit;font-style:normal;font-weight:normal;letter-spacing:norm=
al;text-align:start;text-indent:0px;text-transform:none;white-space:normal;=
word-spacing:0px;background-color:rgb(255,255,255);float:none;display:inlin=
e!important">=C2=A0</span><br style=3D"color:rgb(46,46,46);font-family:aria=
l;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:sta=
rt;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;=
background-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-=
family:arial;font-size:inherit;font-style:normal;font-weight:normal;letter-=
spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-s=
pace:normal;word-spacing:0px;background-color:rgb(255,255,255);float:none;d=
isplay:inline!important">Here is the draft:</span><br style=3D"color:rgb(46=
,46,46);font-family:arial;font-style:normal;font-weight:normal;letter-spaci=
ng:normal;text-align:start;text-indent:0px;text-transform:none;white-space:=
normal;word-spacing:0px;background-color:rgb(255,255,255)"><a href=3D"https=
://github.com/crusader-mike/misc/blob/master/D0770R0.md" style=3D"font-fami=
ly:arial;font-style:normal;font-weight:normal;letter-spacing:normal;text-al=
ign:start;text-indent:0px;text-transform:none;white-space:normal;word-spaci=
ng:0px;background-color:rgb(255,255,255)" target=3D"_blank" rel=3D"nofollow=
" onmousedown=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%=
2F%2Fgithub.com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD0770R0.md\x26sa\x=
3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w';return t=
rue;" onclick=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%=
2F%2Fgithub.com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD0770R0.md\x26sa\x=
3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w';return t=
rue;">https://github.com/crusader-<wbr>mike/misc/blob/master/D0770R0.<wbr>m=
d</a><br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;f=
ont-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;te=
xt-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(=
255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-siz=
e:inherit;font-style:normal;font-weight:normal;letter-spacing:normal;text-a=
lign:start;text-indent:0px;text-transform:none;white-space:normal;word-spac=
ing:0px;background-color:rgb(255,255,255);float:none;display:inline!importa=
nt">=C2=A0</span><br style=3D"color:rgb(46,46,46);font-family:arial;font-st=
yle:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-i=
ndent:0px;text-transform:none;white-space:normal;word-spacing:0px;backgroun=
d-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:ar=
ial;font-size:inherit;font-style:normal;font-weight:normal;letter-spacing:n=
ormal;text-align:start;text-indent:0px;text-transform:none;white-space:norm=
al;word-spacing:0px;background-color:rgb(255,255,255);float:none;display:in=
line!important">Here is what I am looking for:</span><br style=3D"color:rgb=
(46,46,46);font-family:arial;font-style:normal;font-weight:normal;letter-sp=
acing:normal;text-align:start;text-indent:0px;text-transform:none;white-spa=
ce:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style=
=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:norm=
al;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0p=
x;text-transform:none;white-space:normal;word-spacing:0px;background-color:=
rgb(255,255,255);float:none;display:inline!important">- arguments why it is=
not going to work -- these have to be well supported.<span>=C2=A0</span></=
span><br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;f=
ont-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;te=
xt-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(=
255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-siz=
e:inherit;font-style:normal;font-weight:normal;letter-spacing:normal;text-a=
lign:start;text-indent:0px;text-transform:none;white-space:normal;word-spac=
ing:0px;background-color:rgb(255,255,255);float:none;display:inline!importa=
nt">As of now I identified two potential problems:</span><br style=3D"color=
:rgb(46,46,46);font-family:arial;font-style:normal;font-weight:normal;lette=
r-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white=
-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span sty=
le=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:no=
rmal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:=
0px;text-transform:none;white-space:normal;word-spacing:0px;background-colo=
r:rgb(255,255,255);float:none;display:inline!important">- it may not be pos=
sible to implement no-fail "throw<span>=C2=A0</span></span><br style=
=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-weight:nor=
mal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:n=
one;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">=
<span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font=
-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;tex=
t-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;backgr=
ound-color:rgb(255,255,255);float:none;display:inline!important"><specia=
l-exception>" in every implementation</span><br style=3D"color:rgb(=
46,46,46);font-family:arial;font-style:normal;font-weight:normal;letter-spa=
cing:normal;text-align:start;text-indent:0px;text-transform:none;white-spac=
e:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style=3D=
"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:normal;=
font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;t=
ext-transform:none;white-space:normal;word-spacing:0px;background-color:rgb=
(255,255,255);float:none;display:inline!important">- implementation may not=
have good way to check for "exception storage<span>=C2=A0</span></spa=
n><br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font=
-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-=
transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255=
,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:i=
nherit;font-style:normal;font-weight:normal;letter-spacing:normal;text-alig=
n:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing=
:0px;background-color:rgb(255,255,255);float:none;display:inline!important"=
>overflow"</span><br style=3D"color:rgb(46,46,46);font-family:arial;fo=
nt-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;t=
ext-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;back=
ground-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-fami=
ly:arial;font-size:inherit;font-style:normal;font-weight:normal;letter-spac=
ing:normal;text-align:start;text-indent:0px;text-transform:none;white-space=
:normal;word-spacing:0px;background-color:rgb(255,255,255);float:none;displ=
ay:inline!important">both of these don't apply to GCC (it seems), but I=
have no idea about<span>=C2=A0</span></span><br style=3D"color:rgb(46,46,4=
6);font-family:arial;font-style:normal;font-weight:normal;letter-spacing:no=
rmal;text-align:start;text-indent:0px;text-transform:none;white-space:norma=
l;word-spacing:0px;background-color:rgb(255,255,255)"><span style=3D"color:=
rgb(46,46,46);font-family:arial;font-size:inherit;font-style:normal;font-we=
ight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tra=
nsform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,25=
5,255);float:none;display:inline!important">other implementations...</span>=
<br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-w=
eight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tr=
ansform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,2=
55,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inh=
erit;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:=
start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0=
px;background-color:rgb(255,255,255);float:none;display:inline!important">-=
style and language corrections are welcome too (English is my 3rd<span>=C2=
=A0</span></span><br style=3D"color:rgb(46,46,46);font-family:arial;font-st=
yle:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-i=
ndent:0px;text-transform:none;white-space:normal;word-spacing:0px;backgroun=
d-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:ar=
ial;font-size:inherit;font-style:normal;font-weight:normal;letter-spacing:n=
ormal;text-align:start;text-indent:0px;text-transform:none;white-space:norm=
al;word-spacing:0px;background-color:rgb(255,255,255);float:none;display:in=
line!important">language and I know it is far from being perfect)</span><br=
style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-weig=
ht:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-trans=
form:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,=
255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inheri=
t;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:sta=
rt;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;=
background-color:rgb(255,255,255);float:none;display:inline!important">- an=
y other things you consider important</span><br style=3D"color:rgb(46,46,46=
);font-family:arial;font-style:normal;font-weight:normal;letter-spacing:nor=
mal;text-align:start;text-indent:0px;text-transform:none;white-space:normal=
;word-spacing:0px;background-color:rgb(255,255,255)"><span style=3D"color:r=
gb(46,46,46);font-family:arial;font-size:inherit;font-style:normal;font-wei=
ght:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tran=
sform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255=
,255);float:none;display:inline!important">=C2=A0</span><br style=3D"color:=
rgb(46,46,46);font-family:arial;font-style:normal;font-weight:normal;letter=
-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-=
space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span styl=
e=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:nor=
mal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0=
px;text-transform:none;white-space:normal;word-spacing:0px;background-color=
:rgb(255,255,255);float:none;display:inline!important">I am planning to wai=
t for few days and then (depending on outcome of<span>=C2=A0</span></span><=
br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-we=
ight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tra=
nsform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,25=
5,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inhe=
rit;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:s=
tart;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0p=
x;background-color:rgb(255,255,255);float:none;display:inline!important">di=
scussion) either officially submit or discard it.</span><br style=3D"color:=
rgb(46,46,46);font-family:arial;font-style:normal;font-weight:normal;letter=
-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-=
space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span styl=
e=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:nor=
mal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0=
px;text-transform:none;white-space:normal;word-spacing:0px;background-color=
:rgb(255,255,255);float:none;display:inline!important">=C2=A0</span><br sty=
le=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-weight:n=
ormal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform=
:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)=
"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;fo=
nt-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;t=
ext-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;back=
ground-color:rgb(255,255,255);float:none;display:inline!important">Thank yo=
u.</span><br style=3D"color:rgb(46,46,46);font-family:arial;font-style:norm=
al;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0p=
x;text-transform:none;white-space:normal;word-spacing:0px;background-color:=
rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font=
-size:inherit;font-style:normal;font-weight:normal;letter-spacing:normal;te=
xt-align:start;text-indent:0px;text-transform:none;white-space:normal;word-=
spacing:0px;background-color:rgb(255,255,255);float:none;display:inline!imp=
ortant">=C2=A0</span><br style=3D"color:rgb(46,46,46);font-family:arial;fon=
t-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;te=
xt-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;backg=
round-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-famil=
y:arial;font-size:inherit;font-style:normal;font-weight:normal;letter-spaci=
ng:normal;text-align:start;text-indent:0px;text-transform:none;white-space:=
normal;word-spacing:0px;background-color:rgb(255,255,255);float:none;displa=
y:inline!important">Regards,</span><br style=3D"color:rgb(46,46,46);font-fa=
mily:arial;font-style:normal;font-weight:normal;letter-spacing:normal;text-=
align:start;text-indent:0px;text-transform:none;white-space:normal;word-spa=
cing:0px;background-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,=
46);font-family:arial;font-size:inherit;font-style:normal;font-weight:norma=
l;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:non=
e;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);flo=
at:none;display:inline!important">Michael.</span></div></blockquote></div><=
br><div>=C2=A0 =C2=A0 =C2=A0Your proposal=E2=80=99s section numbering gets =
a little funky between its =E2=80=98Introduction (and motivation)=E2=80=99 =
and the sections that follow it: =C2=A0it starts at =E2=80=981,=E2=80=99 sk=
ips =E2=80=982,=E2=80=99 then continues from =E2=80=983.=E2=80=99 =C2=A0Was=
there an additional section there in an earlier draft whose contents you l=
ater either discarded or merged into another section, perhaps the previous =
one? =C2=A0</div><br><div>
<div style=3D"color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-=
indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wra=
p:break-word"><div style=3D"color:rgb(0,0,0);letter-spacing:normal;text-ali=
gn:start;text-indent:0px;text-transform:none;white-space:normal;word-spacin=
g:0px;word-wrap:break-word"><div style=3D"color:rgb(0,0,0);letter-spacing:n=
ormal;text-align:start;text-indent:0px;text-transform:none;white-space:norm=
al;word-spacing:0px;word-wrap:break-word"><div>Curious,=C2=A0</div><div>=C2=
=A0 =C2=A0 =C2=A0Bryce Glover</div><div>=C2=A0 =C2=A0 =C2=A0<a href=3D"java=
script:" target=3D"_blank" gdf-obfuscated-mailto=3D"lqLSus8mCwAJ" rel=3D"no=
follow" onmousedown=3D"this.href=3D'javascript:';return true;" oncl=
ick=3D"this.href=3D'javascript:';return true;">Random...@gmail.com<=
/a></div></div></div></div></div></div></blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/192efd44-a045-4488-bc89-7e0d42a7d4b8%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/192efd44-a045-4488-bc89-7e0d42a7d4b8=
%40isocpp.org</a>.<br />
------=_Part_680_882279494.1503558249537--
------=_Part_679_1802243685.1503558249537--
.
Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
Date: Thu, 24 Aug 2017 01:37:30 -0700 (PDT)
Raw View
------=_Part_797_837403555.1503563850070
Content-Type: multipart/alternative;
boundary="----=_Part_798_682009172.1503563850071"
------=_Part_798_682009172.1503563850071
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Thursday, August 24, 2017 at 12:04:09 AM UTC-7, crusad...@gmail.com=20
wrote:
>
> On Wednesday, August 23, 2017 at 5:31:45 PM UTC-5, Bryce Glover wrote:
>>
>> On Aug 23, 2017, at 6:13 PM, std-pr...@isocpp.org wrote:
>>
>> Hi,
>> =20
>> I looked around this forum and realized that it is populated by the same=
=20
>> people as discussion forum. Premises for this proposal were discussed=20
>> there=20
>> few days ago and some of you probably remember it. It makes my task a bi=
t
>> =20
>> easier. :)
>> =20
>> Here is the draft:
>> https://github.com/crusader-mike/misc/blob/master/D0770R0.md=20
>>
>>
Can you explain how your mechanism would handle a program like this one,=20
where there's more than one exception in flight at once?
https://wandbox.org/permlink/G23Eqak3aYVufquA
If you find that you *can* handle this program without heap-allocation,=20
then you should trumpet that solution to the world, regardless of whether=
=20
the proposal itself is a good idea or not.
OTOH, if you find that you have no idea how to implement your proposal, you=
=20
probably shouldn't formally propose it. ;) Not that there's anything wrong=
=20
with starting a discussion on the topic.
I'd rather see a paper that tackled either of the two really hard problems=
=20
that your paper tiptoes around:
(A) Exception handling mechanisms require(?) dynamic memory allocation, and=
=20
don't allow the programmer to specify a custom allocation mechanism
(B) C++ pretends that stack exhaustion is impossible, which is a big fat li=
e
If you don't propose a solution for (B), then you haven't really changed=20
the situation, have you? The current situation is "Your program can crash=
=20
at any time, if it exhausts a resource that exists IRL but which the=20
Standard doesn't mention," and if you patch the standard according to your=
=20
proposal, the situation will still be "Your program can crash at any time,=
=20
if it exhausts a resource that exists IRL but which the Standard doesn't=20
mention."
Do you actually see this failure mode in real code?
HTH,
=E2=80=93Arthur
--=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/197fa286-322d-495f-afe2-b44a1385058d%40isocpp.or=
g.
------=_Part_798_682009172.1503563850071
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>On Thursday, August 24, 2017 at 12:04:09 AM UTC-7,=
crusad...@gmail.com wrote:<blockquote class=3D"gmail_quote" style=3D"margi=
n: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><di=
v dir=3D"ltr">On Wednesday, August 23, 2017 at 5:31:45 PM UTC-5, Bryce Glov=
er wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.=
8ex;border-left:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:br=
eak-word"><div><blockquote type=3D"cite"><div>On Aug 23, 2017, at 6:13 PM, =
<a rel=3D"nofollow">std-pr...@isocpp.org</a> wrote:</div><br><div><span sty=
le=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:no=
rmal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:=
0px;text-transform:none;white-space:normal;word-spacing:0px;background-colo=
r:rgb(255,255,255);float:none;display:inline!important">Hi,</span><br style=
=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-weight:nor=
mal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:n=
one;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">=
<span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font=
-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;tex=
t-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;backgr=
ound-color:rgb(255,255,255);float:none;display:inline!important">=C2=A0</sp=
an><br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;fon=
t-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text=
-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(25=
5,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:=
inherit;font-style:normal;font-weight:normal;letter-spacing:normal;text-ali=
gn:start;text-indent:0px;text-transform:none;white-space:normal;word-spacin=
g:0px;background-color:rgb(255,255,255);float:none;display:inline!important=
">I looked around this forum and realized that it is populated by the same<=
span>=C2=A0</span></span><br style=3D"color:rgb(46,46,46);font-family:arial=
;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:star=
t;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;b=
ackground-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-f=
amily:arial;font-size:inherit;font-style:normal;font-weight:normal;letter-s=
pacing:normal;text-align:start;text-indent:0px;text-transform:none;white-sp=
ace:normal;word-spacing:0px;background-color:rgb(255,255,255);float:none;di=
splay:inline!important">people as discussion forum. Premises for this propo=
sal were discussed there<span>=C2=A0</span></span><br style=3D"color:rgb(46=
,46,46);font-family:arial;font-style:normal;font-weight:normal;letter-spaci=
ng:normal;text-align:start;text-indent:0px;text-transform:none;white-space:=
normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style=3D"c=
olor:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:normal;fo=
nt-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;tex=
t-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(2=
55,255,255);float:none;display:inline!important">few days ago and some of y=
ou probably remember it. It makes my task a bit<span>=C2=A0</span></span><b=
r style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-wei=
ght:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tran=
sform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255=
,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inher=
it;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:st=
art;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px=
;background-color:rgb(255,255,255);float:none;display:inline!important">eas=
ier. :)</span><br style=3D"color:rgb(46,46,46);font-family:arial;font-style=
:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-inde=
nt:0px;text-transform:none;white-space:normal;word-spacing:0px;background-c=
olor:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial=
;font-size:inherit;font-style:normal;font-weight:normal;letter-spacing:norm=
al;text-align:start;text-indent:0px;text-transform:none;white-space:normal;=
word-spacing:0px;background-color:rgb(255,255,255);float:none;display:inlin=
e!important">=C2=A0</span><br style=3D"color:rgb(46,46,46);font-family:aria=
l;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:sta=
rt;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;=
background-color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-=
family:arial;font-size:inherit;font-style:normal;font-weight:normal;letter-=
spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-s=
pace:normal;word-spacing:0px;background-color:rgb(255,255,255);float:none;d=
isplay:inline!important">Here is the draft:</span><br style=3D"color:rgb(46=
,46,46);font-family:arial;font-style:normal;font-weight:normal;letter-spaci=
ng:normal;text-align:start;text-indent:0px;text-transform:none;white-space:=
normal;word-spacing:0px;background-color:rgb(255,255,255)"><a href=3D"https=
://github.com/crusader-mike/misc/blob/master/D0770R0.md" style=3D"font-fami=
ly:arial;font-style:normal;font-weight:normal;letter-spacing:normal;text-al=
ign:start;text-indent:0px;text-transform:none;white-space:normal;word-spaci=
ng:0px;background-color:rgb(255,255,255)" rel=3D"nofollow" target=3D"_blank=
" onmousedown=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%=
2F%2Fgithub.com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD0770R0.md\x26sa\x=
3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w';return t=
rue;" onclick=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%=
2F%2Fgithub.com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD0770R0.md\x26sa\x=
3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w';return t=
rue;">https://github.com/crusader-<wbr>mike/misc/blob/master/D0770R0.<wbr>m=
d</a><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit=
;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:star=
t;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;b=
ackground-color:rgb(255,255,255);float:none;display:inline!important">=C2=
=A0</span></div></blockquote></div></div></blockquote></div></blockquote><d=
iv><br></div><div>Can you explain how your mechanism would handle a program=
like this one, where there's more than one exception in flight at once=
?</div><div><a href=3D"https://wandbox.org/permlink/G23Eqak3aYVufquA">https=
://wandbox.org/permlink/G23Eqak3aYVufquA</a><br></div><div>If you find that=
you <i>can</i> handle this program without heap-allocation, then you shoul=
d trumpet that solution to the world, regardless of whether the proposal it=
self is a good idea or not.</div><div>OTOH, if you find that you have no id=
ea how to implement your proposal, you probably shouldn't formally prop=
ose it. ;) Not that there's anything wrong with starting a discussion o=
n the topic.</div><div><br></div><div>I'd rather see a paper that tackl=
ed either of the two really hard problems that your paper tiptoes around:</=
div><div>(A) Exception handling mechanisms require(?) dynamic memory alloca=
tion, and don't allow the programmer to specify a custom allocation mec=
hanism</div><div>(B) C++ pretends that stack exhaustion is impossible, whic=
h is a big fat lie</div><div><br></div><div>If you don't propose a solu=
tion for (B), then you haven't really changed the situation, have you? =
The current situation is "Your program can crash at any time, if it ex=
hausts a resource that exists IRL but which the Standard doesn't mentio=
n," and if you patch the standard according to your proposal, the situ=
ation will still be "Your program can crash at any time, if it exhaust=
s a resource that exists IRL but which the Standard doesn't mention.&qu=
ot;</div><div><br></div><div>Do you actually see this failure mode in real =
code?</div><div><br></div><div>HTH,</div><div>=E2=80=93Arthur</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/197fa286-322d-495f-afe2-b44a1385058d%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/197fa286-322d-495f-afe2-b44a1385058d=
%40isocpp.org</a>.<br />
------=_Part_798_682009172.1503563850071--
------=_Part_797_837403555.1503563850070--
.
Author: Ray Hamel <rayghamel@gmail.com>
Date: Thu, 24 Aug 2017 13:26:14 -0700 (PDT)
Raw View
------=_Part_1819_1391553244.1503606374174
Content-Type: multipart/alternative;
boundary="----=_Part_1820_591355607.1503606374174"
------=_Part_1820_591355607.1503606374174
Content-Type: text/plain; charset="UTF-8"
Could throw-expressions be extended to allow storage class specifiers?
// Constructs exception object in-place, may fail
throw std::runtime_error("foo");
// Constructs exception object at thread/program start
thread_local throw std::runtime_error("bar");
static throw std::runtime_error("baz");
-Ray
--
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/35f512f9-a69f-42ae-b7b7-090a3d6dfe96%40isocpp.org.
------=_Part_1820_591355607.1503606374174
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Could throw-expressions be extended to allow storage =
class specifiers?</div><div><br></div><div><div style=3D"background-color: =
rgb(250, 250, 250); border-color: rgb(187, 187, 187); border-style: solid; =
border-width: 1px; overflow-wrap: break-word;" class=3D"prettyprint"><code =
class=3D"prettyprint"><div class=3D"subprettyprint"><span style=3D"color: #=
000;" class=3D"styled-by-prettify"><code class=3D"prettyprint"><span style=
=3D"color: #800;" class=3D"styled-by-prettify">// Constructs exception obje=
ct in-place, may fail</span><span style=3D"color: #000;" class=3D"styled-by=
-prettify"><br></span></code></span><span style=3D"color: #008;" class=3D"s=
tyled-by-prettify">throw</span><span style=3D"color: #000;" class=3D"styled=
-by-prettify"> std</span><span style=3D"color: #660;" class=3D"styled-by-pr=
ettify">::</span><span style=3D"color: #000;" class=3D"styled-by-prettify">=
runtime_error</span><span style=3D"color: #660;" class=3D"styled-by-prettif=
y">(</span><span style=3D"color: #080;" class=3D"styled-by-prettify">"=
foo"</span><span style=3D"color: #660;" class=3D"styled-by-prettify">)=
;</span><span style=3D"color: #000;" class=3D"styled-by-prettify"><br><br><=
/span><span style=3D"color: #800;" class=3D"styled-by-prettify">// Construc=
ts exception object at thread/program start</span><span style=3D"color: #00=
0;" class=3D"styled-by-prettify"><br>thread_local </span><span style=3D"col=
or: #008;" class=3D"styled-by-prettify">throw</span><span style=3D"color: #=
000;" class=3D"styled-by-prettify"> std</span><span style=3D"color: #660;" =
class=3D"styled-by-prettify">::</span><span style=3D"color: #000;" class=3D=
"styled-by-prettify">runtime_error</span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">(</span><span style=3D"color: #080;" class=3D"style=
d-by-prettify">"bar"</span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">);</span><span style=3D"color: #000;" class=3D"styled-b=
y-prettify"><br></span><span style=3D"color: #008;" class=3D"styled-by-pret=
tify">static</span><span style=3D"color: #000;" class=3D"styled-by-prettify=
"> </span><span style=3D"color: #008;" class=3D"styled-by-prettify">throw</=
span><span style=3D"color: #000;" class=3D"styled-by-prettify"> std</span><=
span style=3D"color: #660;" class=3D"styled-by-prettify">::</span><span sty=
le=3D"color: #000;" class=3D"styled-by-prettify">runtime_error</span><span =
style=3D"color: #660;" class=3D"styled-by-prettify">(</span><span style=3D"=
color: #080;" class=3D"styled-by-prettify">"baz"</span><span styl=
e=3D"color: #660;" class=3D"styled-by-prettify">);</span><span style=3D"col=
or: #000;" class=3D"styled-by-prettify"><br></span></div></code></div><br><=
/div><div>-Ray<br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/35f512f9-a69f-42ae-b7b7-090a3d6dfe96%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/35f512f9-a69f-42ae-b7b7-090a3d6dfe96=
%40isocpp.org</a>.<br />
------=_Part_1820_591355607.1503606374174--
------=_Part_1819_1391553244.1503606374174--
.
Author: Nicol Bolas <jmckesson@gmail.com>
Date: Thu, 24 Aug 2017 13:38:01 -0700 (PDT)
Raw View
------=_Part_1737_158332070.1503607081128
Content-Type: multipart/alternative;
boundary="----=_Part_1738_544564330.1503607081128"
------=_Part_1738_544564330.1503607081128
Content-Type: text/plain; charset="UTF-8"
On Thursday, August 24, 2017 at 4:26:14 PM UTC-4, Ray Hamel wrote:
>
> Could throw-expressions be extended to allow storage class specifiers?
>
> // Constructs exception object in-place, may fail
> throw std::runtime_error("foo");
>
> // Constructs exception object at thread/program start
> thread_local throw std::runtime_error("bar");
> static throw std::runtime_error("baz");
>
> -Ray
>
For exceptions that you throw, that would be an adequate solution. But for
exceptions thrown outside of your control, it wouldn't work, since you
don't control the `throw` statement.
--
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/5264f340-0b06-4f66-baff-0e2f7e5b2bc7%40isocpp.org.
------=_Part_1738_544564330.1503607081128
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Thursday, August 24, 2017 at 4:26:14 PM UTC-4, Ray Hame=
l wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0=
..8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div>=
Could throw-expressions be extended to allow storage class specifiers?</div=
><div><br></div><div><div style=3D"background-color:rgb(250,250,250);border=
-color:rgb(187,187,187);border-style:solid;border-width:1px"><code><div><sp=
an style=3D"color:#000"><code><span style=3D"color:#800">// Constructs exce=
ption object in-place, may fail</span><span style=3D"color:#000"><br></span=
></code></span><span style=3D"color:#008">throw</span><span style=3D"color:=
#000"> std</span><span style=3D"color:#660">::</span><span style=3D"color:#=
000">runtime_error</span><span style=3D"color:#660">(</span><span style=3D"=
color:#080">"foo"</span><span style=3D"color:#660">);</span><span=
style=3D"color:#000"><br><br></span><span style=3D"color:#800">// Construc=
ts exception object at thread/program start</span><span style=3D"color:#000=
"><br>thread_local </span><span style=3D"color:#008">throw</span><span styl=
e=3D"color:#000"> std</span><span style=3D"color:#660">::</span><span style=
=3D"color:#000">runtime_error</span><span style=3D"color:#660">(</span><spa=
n style=3D"color:#080">"bar"</span><span style=3D"color:#660">);<=
/span><span style=3D"color:#000"><br></span><span style=3D"color:#008">stat=
ic</span><span style=3D"color:#000"> </span><span style=3D"color:#008">thro=
w</span><span style=3D"color:#000"> std</span><span style=3D"color:#660">::=
</span><span style=3D"color:#000">runtime_error</span><span style=3D"color:=
#660">(</span><span style=3D"color:#080">"baz"</span><span style=
=3D"color:#660">);</span><span style=3D"color:#000"><br></span></div></code=
></div><br></div><div>-Ray<br></div></div></blockquote><div><br>For excepti=
ons that you throw, that would be an adequate solution. But for exceptions =
thrown outside of your control, it wouldn't work, since you don't c=
ontrol the `throw` statement. <br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/5264f340-0b06-4f66-baff-0e2f7e5b2bc7%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/5264f340-0b06-4f66-baff-0e2f7e5b2bc7=
%40isocpp.org</a>.<br />
------=_Part_1738_544564330.1503607081128--
------=_Part_1737_158332070.1503607081128--
.
Author: Bryce Glover <randomdsdevel@gmail.com>
Date: Thu, 24 Aug 2017 17:54:50 -0400
Raw View
--Apple-Mail=_2E44E678-7C68-4980-8163-0284584697AE
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
> On Aug 24, 2017, at 4:34 PM, std-proposals@isocpp.org wrote:
>=20
> crusader.mike@gmail.com <mailto:crusader.mike@gmail.com>: Aug 24 12:04AM =
-0700=20
>=20
> Yes, you are correct. I got rid of motivation section (it was basically=
=20
> repeating the same thing as introduction just in different words). Fixed.=
=20
> Thank you!
You=E2=80=99re most welcome! =20
Regards,=20
Bryce Glover
RandomDSdevel@gmail.com
--=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/03541493-31CD-43E7-AC85-5C2354F68C9F%40gmail.com=
..
--Apple-Mail=_2E44E678-7C68-4980-8163-0284584697AE
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="UTF-8"
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><div><blockquote t=
ype=3D"cite" class=3D""><div class=3D"">On Aug 24, 2017, at 4:34 PM, <a hre=
f=3D"mailto:std-proposals@isocpp.org" class=3D"">std-proposals@isocpp.org</=
a> wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><spa=
n style=3D"font-family: arial; font-style: normal; font-variant-caps: norma=
l; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; widows:=
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color:=
rgb(255, 255, 255); color: rgb(177, 176, 176); font-size: 15px;" class=3D"=
"><a href=3D"mailto:crusader.mike@gmail.com" class=3D"">crusader.mike@gmail=
..com</a>: Aug 24 12:04AM -0700<span class=3D"Apple-converted-space"> <=
/span></span><span style=3D"color: rgb(46, 46, 46); font-family: arial; fon=
t-size: inherit; font-style: normal; font-variant-caps: normal; font-weight=
: normal; letter-spacing: normal; orphans: auto; text-align: start; text-in=
dent: 0px; text-transform: none; white-space: normal; widows: auto; word-sp=
acing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,=
255); float: none; display: inline !important;" class=3D""></span><br styl=
e=3D"color: rgb(46, 46, 46); font-family: arial; font-style: normal; font-v=
ariant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: =
auto; text-align: start; text-indent: 0px; text-transform: none; white-spac=
e: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;=
background-color: rgb(255, 255, 255);" class=3D""><br style=3D"color: rgb(=
46, 46, 46); font-family: arial; font-style: normal; font-variant-caps: nor=
mal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align=
: start; text-indent: 0px; text-transform: none; white-space: normal; widow=
s: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-colo=
r: rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, 46, 46); f=
ont-family: arial; font-size: inherit; font-style: normal; font-variant-cap=
s: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text=
-align: start; text-indent: 0px; text-transform: none; white-space: normal;=
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgroun=
d-color: rgb(255, 255, 255); float: none; display: inline !important;" clas=
s=3D"">Yes, you are correct. I got rid of motivation section (it was basica=
lly<span class=3D"Apple-converted-space"> </span></span><br style=3D"c=
olor: rgb(46, 46, 46); font-family: arial; font-style: normal; font-variant=
-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: nor=
mal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; backg=
round-color: rgb(255, 255, 255);" class=3D""><span style=3D"color: rgb(46, =
46, 46); font-family: arial; font-size: inherit; font-style: normal; font-v=
ariant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: =
auto; text-align: start; text-indent: 0px; text-transform: none; white-spac=
e: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;=
background-color: rgb(255, 255, 255); float: none; display: inline !import=
ant;" class=3D"">repeating the same thing as introduction just in different=
words). Fixed.<span class=3D"Apple-converted-space"> </span></span><b=
r style=3D"color: rgb(46, 46, 46); font-family: arial; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orp=
hans: auto; text-align: start; text-indent: 0px; text-transform: none; whit=
e-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width=
: 0px; background-color: rgb(255, 255, 255);" class=3D""><span style=3D"col=
or: rgb(46, 46, 46); font-family: arial; font-size: inherit; font-style: no=
rmal; font-variant-caps: normal; font-weight: normal; letter-spacing: norma=
l; orphans: auto; text-align: start; text-indent: 0px; text-transform: none=
; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke=
-width: 0px; background-color: rgb(255, 255, 255); float: none; display: in=
line !important;" class=3D"">Thank you!</span></div></blockquote></div><br =
class=3D""><div class=3D""> You=E2=80=99re most welcome!=
</div><br class=3D""><div class=3D"">
<div style=3D"color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; t=
ext-align: start; text-indent: 0px; text-transform: none; white-space: norm=
al; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-w=
rap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-=
space;" class=3D""><div style=3D"color: rgb(0, 0, 0); letter-spacing: norma=
l; orphans: auto; text-align: start; text-indent: 0px; text-transform: none=
; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke=
-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-=
break: after-white-space;" class=3D""><div style=3D"color: rgb(0, 0, 0); le=
tter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; t=
ext-transform: none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><div class=3D"">Re=
gards, </div><div class=3D""> Bryce Glover</div><di=
v class=3D""> <a href=3D"mailto:RandomDSdevel@gmail.com"=
class=3D"">RandomDSdevel@gmail.com</a></div></div></div></div></div></body=
></html>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/03541493-31CD-43E7-AC85-5C2354F68C9F%=
40gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/03541493-31CD-43E7-AC85-5C2354F68C9F%=
40gmail.com</a>.<br />
--Apple-Mail=_2E44E678-7C68-4980-8163-0284584697AE--
.
Author: crusader.mike@gmail.com
Date: Thu, 24 Aug 2017 17:49:02 -0700 (PDT)
Raw View
------=_Part_1946_71774446.1503622142210
Content-Type: multipart/alternative;
boundary="----=_Part_1947_1326346694.1503622142211"
------=_Part_1947_1326346694.1503622142211
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Thursday, August 24, 2017 at 3:37:30 AM UTC-5, Arthur O'Dwyer wrote:
>
> On Thursday, August 24, 2017 at 12:04:09 AM UTC-7, crusad...@gmail.com=20
> wrote:
>>
>> On Wednesday, August 23, 2017 at 5:31:45 PM UTC-5, Bryce Glover wrote:
>>>
>>> On Aug 23, 2017, at 6:13 PM, std-pr...@isocpp.org wrote:
>>>
>>> Hi,
>>> =20
>>> I looked around this forum and realized that it is populated by the sam=
e
>>> =20
>>> people as discussion forum. Premises for this proposal were discussed=
=20
>>> there=20
>>> few days ago and some of you probably remember it. It makes my task a b=
it
>>> =20
>>> easier. :)
>>> =20
>>> Here is the draft:
>>> https://github.com/crusader-mike/misc/blob/master/D0770R0.md=20
>>>
>>>
> Can you explain how your mechanism would handle a program like this one,=
=20
> where there's more than one exception in flight at once?
> https://wandbox.org/permlink/G23Eqak3aYVufquA
>
Why do you think proposed mechanism would not be able to handle program=20
like this? throwing XX should not consume any resources (normally consumed=
=20
by throwing exception) -- so, if your stack is big enough for 100 nested=20
destructor calls -- it will work just fine. As in every "throw=20
std::bad_alloc" either succeeds or gets substituted with "throw XX" which=
=20
is guaranteed to succeed.
Note that if we run out of stack while trying to make a **function call**=
=20
-- app will behave like usual (it will die in most implementations).
=20
If you find that you *can* handle this program without heap-allocation,=20
> then you should trumpet that solution to the world, regardless of whether=
=20
> the proposal itself is a good idea or not.
> OTOH, if you find that you have no idea how to implement your proposal,=
=20
> you probably shouldn't formally propose it. ;) Not that there's anything=
=20
> wrong with starting a discussion on the topic.
>
That is not what this proposal addresses. Or better to say -- this proposal=
=20
addresses only one aspect of two problem your code can have.
=20
I'd rather see a paper that tackled either of the two really hard problems=
=20
> that your paper tiptoes around:
> (A) Exception handling mechanisms require(?) dynamic memory allocation,=
=20
> and don't allow the programmer to specify a custom allocation mechanism
> (B) C++ pretends that stack exhaustion is impossible, which is a big fat=
=20
> lie
>
I am fine with exceptions allocation being left to implementation as long=
=20
as it behaves in certain way when it fails. About (B) -- C++ needs no-fail=
=20
functions, without them it is impossible to handle errors (as earlier=20
versions of Java discovered, lol). Therefore, on **language level** it is=
=20
assumed that stack is infinite (or better to say -- big enough for given=20
program to never use it all). In theory you should be able to analyze your=
=20
code and figure out maximum stack size for any given program. It is=20
relatively simple with C. It is a bit harder with C++ (you need to know=20
details of exception handling mechanism and take unwinding-during-unwinding=
=20
into account). Also, you shouldn't write code where stack consumption can=
=20
be unbounded (e.g. where recursion depth depends on data provided from=20
outside).
And approach taken by the language is correct -- "not enough stack" -->=20
"unspecified behaviour", no further diagnostic required... Environment=20
didn't provide us with what it should have provided. It is the same=20
behavior as in case of when environment pull the rug from under us -- when=
=20
writing to memory allocated with 'new' leads to Linux inability to allocate=
=20
a page (and subsequent crash). Someone should have configured environment=
=20
in such way that it gives all necessary guarantees for C++ runtime, so that=
=20
application can deliver it's own guarantees. It could be a mistake or it=20
can be done on purpose (to save memory, for example) if bigger design=20
actually takes care of these failures (for example by restarting=20
application or redirecting traffic to another computer) -- both of these=20
cases are outside of language boundaries.
Btw, I am not sure about C++17, but in old days standard didn't even=20
mention 'stack' -- it was 'local storage' and function calls were not=20
mandated to be implemented using stack frames. All this stuff belonged to=
=20
implementation domain.
=20
> If you don't propose a solution for (B), then you haven't really changed=
=20
> the situation, have you? The current situation is "Your program can crash=
=20
> at any time, if it exhausts a resource that exists IRL but which the=20
> Standard doesn't mention," and if you patch the standard according to you=
r=20
> proposal, the situation will still be "Your program can crash at any time=
,=20
> if it exhausts a resource that exists IRL but which the Standard doesn't=
=20
> mention."
>
=20
I think points above answer these questions.
=20
Do you actually see this failure mode in real code?
>
Nope. Only in artificial examples. Why does this matter?
=20
> HTH,
> =E2=80=93Arthur
>
--=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/f369eb57-a779-453b-bf8a-94c3239705a3%40isocpp.or=
g.
------=_Part_1947_1326346694.1503622142211
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>On Thursday, August 24, 2017 at 3:37:30 AM UTC-5, =
Arthur O'Dwyer wrote:<blockquote class=3D"gmail_quote" style=3D"margin:=
0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div =
dir=3D"ltr">On Thursday, August 24, 2017 at 12:04:09 AM UTC-7, <a>crusad...=
@gmail.com</a> wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0;ma=
rgin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"lt=
r">On Wednesday, August 23, 2017 at 5:31:45 PM UTC-5, Bryce Glover wrote:<b=
lockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-=
left:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word"><=
div><blockquote type=3D"cite"><div>On Aug 23, 2017, at 6:13 PM, <a rel=3D"n=
ofollow">std-pr...@isocpp.org</a> wrote:</div><br><div><span style=3D"color=
:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:normal;font-w=
eight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tr=
ansform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,2=
55,255);float:none;display:inline!important">Hi,</span><br style=3D"color:r=
gb(46,46,46);font-family:arial;font-style:normal;font-weight:normal;letter-=
spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-s=
pace:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style=
=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style:norm=
al;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0p=
x;text-transform:none;white-space:normal;word-spacing:0px;background-color:=
rgb(255,255,255);float:none;display:inline!important">=C2=A0</span><br styl=
e=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;font-weight:no=
rmal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:=
none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"=
><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;fon=
t-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;te=
xt-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;backg=
round-color:rgb(255,255,255);float:none;display:inline!important">I looked =
around this forum and realized that it is populated by the same<span>=C2=A0=
</span></span><br style=3D"color:rgb(46,46,46);font-family:arial;font-style=
:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-inde=
nt:0px;text-transform:none;white-space:normal;word-spacing:0px;background-c=
olor:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial=
;font-size:inherit;font-style:normal;font-weight:normal;letter-spacing:norm=
al;text-align:start;text-indent:0px;text-transform:none;white-space:normal;=
word-spacing:0px;background-color:rgb(255,255,255);float:none;display:inlin=
e!important">people as discussion forum. Premises for this proposal were di=
scussed there<span>=C2=A0</span></span><br style=3D"color:rgb(46,46,46);fon=
t-family:arial;font-style:normal;font-weight:normal;letter-spacing:normal;t=
ext-align:start;text-indent:0px;text-transform:none;white-space:normal;word=
-spacing:0px;background-color:rgb(255,255,255)"><span style=3D"color:rgb(46=
,46,46);font-family:arial;font-size:inherit;font-style:normal;font-weight:n=
ormal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform=
:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)=
;float:none;display:inline!important">few days ago and some of you probably=
remember it. It makes my task a bit<span>=C2=A0</span></span><br style=3D"=
color:rgb(46,46,46);font-family:arial;font-style:normal;font-weight:normal;=
letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;=
white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><spa=
n style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-sty=
le:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-in=
dent:0px;text-transform:none;white-space:normal;word-spacing:0px;background=
-color:rgb(255,255,255);float:none;display:inline!important">easier. :)</sp=
an><br style=3D"color:rgb(46,46,46);font-family:arial;font-style:normal;fon=
t-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text=
-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(25=
5,255,255)"><span style=3D"color:rgb(46,46,46);font-family:arial;font-size:=
inherit;font-style:normal;font-weight:normal;letter-spacing:normal;text-ali=
gn:start;text-indent:0px;text-transform:none;white-space:normal;word-spacin=
g:0px;background-color:rgb(255,255,255);float:none;display:inline!important=
">=C2=A0</span><br style=3D"color:rgb(46,46,46);font-family:arial;font-styl=
e:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-ind=
ent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-=
color:rgb(255,255,255)"><span style=3D"color:rgb(46,46,46);font-family:aria=
l;font-size:inherit;font-style:normal;font-weight:normal;letter-spacing:nor=
mal;text-align:start;text-indent:0px;text-transform:none;white-space:normal=
;word-spacing:0px;background-color:rgb(255,255,255);float:none;display:inli=
ne!important">Here is the draft:</span><br style=3D"color:rgb(46,46,46);fon=
t-family:arial;font-style:normal;font-weight:normal;letter-spacing:normal;t=
ext-align:start;text-indent:0px;text-transform:none;white-space:normal;word=
-spacing:0px;background-color:rgb(255,255,255)"><a href=3D"https://github.c=
om/crusader-mike/misc/blob/master/D0770R0.md" style=3D"font-family:arial;fo=
nt-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;t=
ext-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;back=
ground-color:rgb(255,255,255)" rel=3D"nofollow" target=3D"_blank" onmousedo=
wn=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub=
..com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD0770R0.md\x26sa\x3dD\x26sntz=
\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w';return true;" oncli=
ck=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub=
..com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD0770R0.md\x26sa\x3dD\x26sntz=
\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w';return true;">https=
://github.com/crusader-<wbr>mike/misc/blob/master/D0770R0.<wbr>md</a><span =
style=3D"color:rgb(46,46,46);font-family:arial;font-size:inherit;font-style=
:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-inde=
nt:0px;text-transform:none;white-space:normal;word-spacing:0px;background-c=
olor:rgb(255,255,255);float:none;display:inline!important">=C2=A0</span></d=
iv></blockquote></div></div></blockquote></div></blockquote><div><br></div>=
<div>Can you explain how your mechanism would handle a program like this on=
e, where there's more than one exception in flight at once?</div><div><=
a href=3D"https://wandbox.org/permlink/G23Eqak3aYVufquA" target=3D"_blank" =
rel=3D"nofollow" onmousedown=3D"this.href=3D'https://www.google.com/url=
?q\x3dhttps%3A%2F%2Fwandbox.org%2Fpermlink%2FG23Eqak3aYVufquA\x26sa\x3dD\x2=
6sntz\x3d1\x26usg\x3dAFQjCNGuws0-XNuqXBBLTk4HjkswwllWmw';return true;" =
onclick=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fw=
andbox.org%2Fpermlink%2FG23Eqak3aYVufquA\x26sa\x3dD\x26sntz\x3d1\x26usg\x3d=
AFQjCNGuws0-XNuqXBBLTk4HjkswwllWmw';return true;">https://wandbox.org/p=
ermlink/<wbr>G23Eqak3aYVufquA</a></div></div></blockquote><div><br></div><d=
iv>Why do you think proposed mechanism would not be able to handle program =
like this? throwing XX should not consume any resources (normally consumed =
by throwing exception) -- so, if your stack is big enough for 100 nested de=
structor calls -- it will work just fine. As in every "throw std::bad_=
alloc" either succeeds or gets substituted with "throw XX" w=
hich is guaranteed to succeed.</div><div><br></div><div>Note that if we run=
out of stack while trying to make a **function call** -- app will behave l=
ike usual (it will die in most implementations).</div><div>=C2=A0</div><div=
><br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left=
: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><d=
iv>If you find that you <i>can</i> handle this program without heap-allocat=
ion, then you should trumpet that solution to the world, regardless of whet=
her the proposal itself is a good idea or not.<br></div><div>OTOH, if you f=
ind that you have no idea how to implement your proposal, you probably shou=
ldn't formally propose it. ;) Not that there's anything wrong with =
starting a discussion on the topic.</div></div></blockquote><div><br></div>=
<div>That is not what this proposal addresses. Or better to say -- this pro=
posal addresses only one aspect of two problem your code can have.</div><di=
v>=C2=A0</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><=
div dir=3D"ltr"><div>I'd rather see a paper that tackled either of the =
two really hard problems that your paper tiptoes around:<br></div><div>(A) =
Exception handling mechanisms require(?) dynamic memory allocation, and don=
't allow the programmer to specify a custom allocation mechanism</div><=
div>(B) C++ pretends that stack exhaustion is impossible, which is a big fa=
t lie</div></div></blockquote><div><br></div><div>I am fine with exceptions=
allocation being left to implementation as long as it behaves in certain w=
ay when it fails. About (B) -- C++ needs no-fail functions, without them it=
is impossible to handle errors (as earlier versions of Java discovered, lo=
l). Therefore, on **language level** it is assumed that stack is infinite (=
or better to say -- big enough for given program to never use it all). In t=
heory you should be able to analyze your code and figure out maximum stack =
size for any given program. It is relatively simple with C. It is a bit har=
der with C++ (you need to know details of exception handling mechanism and =
take unwinding-during-unwinding into account). Also, you shouldn't writ=
e code where stack consumption can be unbounded (e.g. where recursion depth=
depends on data provided from outside).</div><div><br></div><div>And appro=
ach taken by the language is correct -- "not enough stack" -->=
"unspecified behaviour", no further diagnostic required... Envir=
onment didn't provide us with what it should have provided. It is the s=
ame behavior as in case of when environment pull the rug from under us -- w=
hen writing to memory allocated with 'new' leads to Linux inability=
to allocate a page (and subsequent crash). Someone should have configured =
environment in such way that it gives all necessary guarantees for C++ runt=
ime, so that application can deliver it's own guarantees. It could be a=
mistake or it can be done on purpose (to save memory, for example) if bigg=
er design actually takes care of these failures (for example by restarting =
application or redirecting traffic to another computer) -- both of these ca=
ses are outside of language boundaries.</div><div><br></div><div>Btw, I am =
not sure about C++17, but in old days standard didn't even mention '=
;stack' -- it was 'local storage' and function calls were not m=
andated to be implemented using stack frames. All this stuff belonged to im=
plementation domain.</div><div><br></div><div>=C2=A0<br></div><blockquote c=
lass=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px=
#ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div>If you don't prop=
ose a solution for (B), then you haven't really changed the situation, =
have you? The current situation is "Your program can crash at any time=
, if it exhausts a resource that exists IRL but which the Standard doesn=
9;t mention," and if you patch the standard according to your proposal=
, the situation will still be "Your program can crash at any time, if =
it exhausts a resource that exists IRL but which the Standard doesn't m=
ention."<br></div></div></blockquote><div>=C2=A0</div><div>I think poi=
nts above answer these questions.</div><div>=C2=A0</div><div><br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-=
left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div></div><div>D=
o you actually see this failure mode in real code?<br></div></div></blockqu=
ote><div><br></div><div>Nope. Only in artificial examples. Why does this ma=
tter?</div><div><br></div><div>=C2=A0</div><blockquote class=3D"gmail_quote=
" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding=
-left: 1ex;"><div dir=3D"ltr"><div></div><div>HTH,<br></div><div>=E2=80=93A=
rthur</div></div></blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/f369eb57-a779-453b-bf8a-94c3239705a3%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/f369eb57-a779-453b-bf8a-94c3239705a3=
%40isocpp.org</a>.<br />
------=_Part_1947_1326346694.1503622142211--
------=_Part_1946_71774446.1503622142210--
.
Author: crusader.mike@gmail.com
Date: Thu, 24 Aug 2017 18:18:42 -0700 (PDT)
Raw View
------=_Part_2098_797589438.1503623922310
Content-Type: multipart/alternative;
boundary="----=_Part_2099_289785323.1503623922310"
------=_Part_2099_289785323.1503623922310
Content-Type: text/plain; charset="UTF-8"
Just a note -- we are getting hit by a hurricane pretty soon. Depending on
how it plays out I could be incommunicado for 1 or 2 weeks -- when I get
back, I'll try to answer any (still outstanding) questions. If you noticed
that I am back and didn't reply to you -- it is either because I missed it
or considered it no longer oustanding. If you still need an answer -- raise
it again, pls.
On Wednesday, August 23, 2017 at 12:37:00 AM UTC-5, crusad...@gmail.com
wrote:
>
> Hi,
>
> I looked around this forum and realized that it is populated by the same
> people as discussion forum. Premises for this proposal were discussed there
> few days ago and some of you probably remember it. It makes my task a bit
> easier. :)
>
> Here is the draft:
> https://github.com/crusader-mike/misc/blob/master/D0770R0.md
>
> Here is what I am looking for:
> - arguments why it is not going to work -- these have to be well
> supported. As of now I identified two potential problems:
> - it may not be possible to implement no-fail "throw
> <special-exception>" in every implementation
> - implementation may not have good way to check for "exception storage
> overflow"
> both of these don't apply to GCC (it seems), but I have no idea about
> other implementations...
> - style and language corrections are welcome too (English is my 3rd
> language and I know it is far from being perfect)
> - any other things you consider important
>
> I am planning to wait for few days and then (depending on outcome of
> discussion) either officially submit or discard it.
>
> Thank you.
>
> Regards,
> Michael.
>
>
--
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/864aabf9-344b-401c-a9a1-bd67d35e8015%40isocpp.org.
------=_Part_2099_289785323.1503623922310
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Just a note -- we are getting hit by a hurricane pret=
ty soon. Depending on how it plays out I could be incommunicado for 1 or 2 =
weeks -- when I get back, I'll try to answer any (still outstanding) qu=
estions. If you noticed that I am back and didn't reply to you -- it is=
either because I missed it or considered it no longer oustanding. If you s=
till need an answer -- raise it again, pls.</div><br><br>On Wednesday, Augu=
st 23, 2017 at 12:37:00 AM UTC-5, crusad...@gmail.com wrote:<blockquote cla=
ss=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #=
ccc solid;padding-left: 1ex;"><div dir=3D"ltr">Hi,<div><br></div><div>I loo=
ked around this forum and realized that it is populated by the same people =
as discussion forum. Premises for this proposal were discussed there few da=
ys ago and some of you probably remember it. It makes my task a bit easier.=
:)</div><div><br></div><div>Here is the draft:</div><div><a href=3D"https:=
//github.com/crusader-mike/misc/blob/master/D0770R0.md" target=3D"_blank" r=
el=3D"nofollow" onmousedown=3D"this.href=3D'https://www.google.com/url?=
q\x3dhttps%3A%2F%2Fgithub.com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD077=
0R0.md\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w=
';return true;" onclick=3D"this.href=3D'https://www.google.com/url?=
q\x3dhttps%3A%2F%2Fgithub.com%2Fcrusader-mike%2Fmisc%2Fblob%2Fmaster%2FD077=
0R0.md\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHFZk2ciNqn7OnemSbYmJiXT3625w=
';return true;">https://github.com/crusader-<wbr>mike/misc/blob/master/=
D0770R0.<wbr>md</a><br></div><div><br></div><div>Here is what I am looking =
for:</div><div>- arguments why it is not going to work -- these have to be =
well supported. As of now I identified two potential problems:</div><div>=
=C2=A0 =C2=A0 - it may not be possible to implement no-fail "throw <=
;special-exception>" in every implementation</div><div>=C2=A0 =C2=
=A0 - implementation may not have good way to check for "exception sto=
rage overflow"</div><div>=C2=A0 both of these don't apply to GCC (=
it seems), but I have no idea about other implementations...</div><div>- st=
yle and language corrections are welcome too (English is my 3rd language an=
d I know it is far from being perfect)</div><div>- any other things you con=
sider important</div><div><br></div><div>I am planning to wait for few days=
and then (depending on outcome of discussion) either officially submit or =
discard it.</div><div><br></div><div>Thank you.</div><div><br></div><div>Re=
gards,</div><div>Michael.</div><div><br></div></div></blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/864aabf9-344b-401c-a9a1-bd67d35e8015%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/864aabf9-344b-401c-a9a1-bd67d35e8015=
%40isocpp.org</a>.<br />
------=_Part_2099_289785323.1503623922310--
------=_Part_2098_797589438.1503623922310--
.