Topic: [RFC] P1331: Permitting trivial default
Author: "'CJ Johnson' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Sun, 11 Nov 2018 07:51:59 -0800 (PST)
Raw View
------=_Part_1528_38334405.1541951519853
Content-Type: multipart/alternative;
boundary="----=_Part_1529_260166863.1541951519853"
------=_Part_1529_260166863.1541951519853
Content-Type: text/plain; charset="UTF-8"
Hi everyone! I'd really appreciate feedback on this EWG/CWG feature/bug fix
paper. You can view the Markdown file via Github Gist
here: https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
Any comments, concerns, edits or whatever else would be very much
appreciated. I'm a library developer and new to ISO Cpp standards work so
I'm learning as I go.
Thanks :D
- CJ
--
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/cb4e8d6e-1558-456b-ae85-0aa6069c0992%40isocpp.org.
------=_Part_1529_260166863.1541951519853
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hi everyone! I'd really appreciate feedback on this EW=
G/CWG feature/bug fix paper. You can view the Markdown file via Github Gist=
here:=C2=A0https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8=
e6de<div><br></div><div>Any comments, concerns, edits or whatever else woul=
d be very much appreciated. I'm a library developer and new to ISO Cpp =
standards work so I'm learning as I go.</div><div><br></div><div>Thanks=
:D</div><div><br></div><div>- CJ</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/cb4e8d6e-1558-456b-ae85-0aa6069c0992%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/cb4e8d6e-1558-456b-ae85-0aa6069c0992=
%40isocpp.org</a>.<br />
------=_Part_1529_260166863.1541951519853--
------=_Part_1528_38334405.1541951519853--
.
Author: "'CJ Johnson' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Tue, 13 Nov 2018 10:22:10 -0800 (PST)
Raw View
------=_Part_1300_1904993922.1542133330085
Content-Type: multipart/alternative;
boundary="----=_Part_1301_472332345.1542133330085"
------=_Part_1301_472332345.1542133330085
Content-Type: text/plain; charset="UTF-8"
I neglected to include `r0` in the file name, initially.
Here is the updated link:
https://gist.github.com/CJ-Johnson/ad7662d7ad3521866c2048bcfff155f3
On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>
> Hi everyone! I'd really appreciate feedback on this EWG/CWG feature/bug
> fix paper. You can view the Markdown file via Github Gist here:
> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>
> Any comments, concerns, edits or whatever else would be very much
> appreciated. I'm a library developer and new to ISO Cpp standards work so
> I'm learning as I go.
>
> Thanks :D
>
> - CJ
>
>
--
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/f4229e49-0737-4890-9e8c-58d8768c3a43%40isocpp.org.
------=_Part_1301_472332345.1542133330085
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>I neglected to include `r0` in the file name, initial=
ly.<br></div><div><br></div>Here is the updated link: https://gist.github.c=
om/CJ-Johnson/ad7662d7ad3521866c2048bcfff155f3<br><br><div>On Sunday, Novem=
ber 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:<blockquote class=3D"gm=
ail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc soli=
d;padding-left: 1ex;"><div dir=3D"ltr">Hi everyone! I'd really apprecia=
te feedback on this EWG/CWG feature/bug fix paper. You can view the Markdow=
n file via Github Gist here:=C2=A0<a href=3D"https://gist.github.com/CJ-Joh=
nson/cc5cf8ce5b6eba0114e23182daa8e6de" target=3D"_blank" rel=3D"nofollow" o=
nmousedown=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%=
2Fgist.github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3d=
D\x26sntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return tru=
e;" onclick=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F=
%2Fgist.github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3=
dD\x26sntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return tr=
ue;">https://gist.github.com/<wbr>CJ-Johnson/<wbr>cc5cf8ce5b6eba0114e23182d=
aa8e6<wbr>de</a><div><br></div><div>Any comments, concerns, edits or whatev=
er else would be very much appreciated. I'm a library developer and new=
to ISO Cpp standards work so I'm learning as I go.</div><div><br></div=
><div>Thanks :D</div><div><br></div><div>- CJ</div><div><br></div></div></b=
lockquote></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/f4229e49-0737-4890-9e8c-58d8768c3a43%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/f4229e49-0737-4890-9e8c-58d8768c3a43=
%40isocpp.org</a>.<br />
------=_Part_1301_472332345.1542133330085--
------=_Part_1300_1904993922.1542133330085--
.
Author: "'CJ Johnson' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Wed, 28 Nov 2018 08:56:49 -0800 (PST)
Raw View
------=_Part_2478_1512823810.1543424209696
Content-Type: multipart/alternative;
boundary="----=_Part_2479_1494077103.1543424209696"
------=_Part_2479_1494077103.1543424209696
Content-Type: text/plain; charset="UTF-8"
I mistakenly distributed this as P1331R0 before it was ready for the P
designation. It was/is still in draft state and so I've changed it to
D1331. Here's the new link:
https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045
On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>
> Hi everyone! I'd really appreciate feedback on this EWG/CWG feature/bug
> fix paper. You can view the Markdown file via Github Gist here:
> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>
> Any comments, concerns, edits or whatever else would be very much
> appreciated. I'm a library developer and new to ISO Cpp standards work so
> I'm learning as I go.
>
> Thanks :D
>
> - CJ
>
>
--
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/47772448-0870-4b0a-83c4-3255fedcbd29%40isocpp.org.
------=_Part_2479_1494077103.1543424209696
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I mistakenly distributed this as P1331R0 before it was rea=
dy for the P designation. It was/is still in draft state and so I've ch=
anged it to D1331. Here's the new link: https://gist.github.com/CJ-John=
son/18485d3c5d60bdd0d2d5cae4fba7a045<br><br>On Sunday, November 11, 2018 at=
10:51:59 AM UTC-5, CJ Johnson wrote:<blockquote class=3D"gmail_quote" styl=
e=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left:=
1ex;"><div dir=3D"ltr">Hi everyone! I'd really appreciate feedback on =
this EWG/CWG feature/bug fix paper. You can view the Markdown file via Gith=
ub Gist here:=C2=A0<a href=3D"https://gist.github.com/CJ-Johnson/cc5cf8ce5b=
6eba0114e23182daa8e6de" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"t=
his.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.c=
om%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3dD\x26sntz\x3d1\=
x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return true;" onclick=3D"=
this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.=
com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3dD\x26sntz\x3d1=
\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return true;">https://gi=
st.github.com/<wbr>CJ-Johnson/<wbr>cc5cf8ce5b6eba0114e23182daa8e6<wbr>de</a=
><div><br></div><div>Any comments, concerns, edits or whatever else would b=
e very much appreciated. I'm a library developer and new to ISO Cpp sta=
ndards work so I'm learning as I go.</div><div><br></div><div>Thanks :D=
</div><div><br></div><div>- CJ</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/47772448-0870-4b0a-83c4-3255fedcbd29%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/47772448-0870-4b0a-83c4-3255fedcbd29=
%40isocpp.org</a>.<br />
------=_Part_2479_1494077103.1543424209696--
------=_Part_2478_1512823810.1543424209696--
.
Author: "'Matt Calabrese' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Wed, 28 Nov 2018 12:06:45 -0500
Raw View
--000000000000f1c365057bbc97af
Content-Type: text/plain; charset="UTF-8"
On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard - Future
Proposals <std-proposals@isocpp.org> wrote:
> I mistakenly distributed this as P1331R0 before it was ready for the P
> designation. It was/is still in draft state and so I've changed it to
> D1331. Here's the new link:
> https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045
>
> On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>>
>> Hi everyone! I'd really appreciate feedback on this EWG/CWG feature/bug
>> fix paper. You can view the Markdown file via Github Gist here:
>> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>>
>> Any comments, concerns, edits or whatever else would be very much
>> appreciated. I'm a library developer and new to ISO Cpp standards work so
>> I'm learning as I go.
>>
>
I am fond of this paper, however there is an interesting note at the end:
Note: Reading uninitialized instances of unsigned char is not undefined.
That being the case, if adopted, this proposal would continue to consider
it a special case and would thus permit unsigned char a; auto b = a; in
constexpr.
Doesn't this imply that multiple calls to a constexpr function at
compile-time with the same exact arguments, can lead to different results?
I believe this is novel for constexpr functions (other supposed tricks that
do so do not actually have this property). Would we disallow this from
actually forming a core constant expression, or perhaps make it so that it
produces consistent results if being constant evaluated?
--
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/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com.
--000000000000f1c365057bbc97af
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Nov 28=
, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard - Future Propo=
sals <<a href=3D"mailto:std-proposals@isocpp.org">std-proposals@isocpp.o=
rg</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">=
I mistakenly distributed this as P1331R0 before it was ready for the P desi=
gnation. It was/is still in draft state and so I've changed it to D1331=
.. Here's the new link: <a href=3D"https://gist.github.com/CJ-Johnson/18=
485d3c5d60bdd0d2d5cae4fba7a045" target=3D"_blank">https://gist.github.com/C=
J-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045</a><br><br>On Sunday, November 1=
1, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:<blockquote class=3D"gmail_q=
uote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;paddin=
g-left:1ex"><div dir=3D"ltr">Hi everyone! I'd really appreciate feedbac=
k on this EWG/CWG feature/bug fix paper. You can view the Markdown file via=
Github Gist here:=C2=A0<a href=3D"https://gist.github.com/CJ-Johnson/cc5cf=
8ce5b6eba0114e23182daa8e6de" rel=3D"nofollow" target=3D"_blank">https://gis=
t.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de</a><div><br></div>=
<div>Any comments, concerns, edits or whatever else would be very much appr=
eciated. I'm a library developer and new to ISO Cpp standards work so I=
'm learning as I go.<br></div></div></blockquote></div></blockquote><di=
v><br></div><div>I am fond of this paper, however there is an interesting n=
ote at the end:</div><div><br></div><div><span style=3D"box-sizing:border-b=
ox;font-weight:600;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSy=
stemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color =
Emoji","Segoe UI Emoji","Segoe UI Symbol";font-siz=
e:16px">Note</span><span style=3D"color:rgb(36,41,46);font-family:-apple-sy=
stem,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,&qu=
ot;Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol=
";font-size:16px">: Reading uninitialized instances of=C2=A0</span><co=
de style=3D"box-sizing:border-box;font-family:SFMono-Regular,Consolas,"=
;Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;background-=
color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em 0.4em;=
color:rgb(36,41,46)">unsigned char</code><span style=3D"color:rgb(36,41,46)=
;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetic=
a,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"=
,"Segoe UI Symbol";font-size:16px">=C2=A0is not undefined. That b=
eing the case, if adopted, this proposal would continue to consider it a sp=
ecial case and would thus permit=C2=A0</span><code style=3D"box-sizing:bord=
er-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menl=
o,Courier,monospace;font-size:13.6px;background-color:rgba(27,31,35,0.05);b=
order-radius:3px;margin:0px;padding:0.2em 0.4em;color:rgb(36,41,46)">unsign=
ed char a; auto b =3D a;</code><span style=3D"color:rgb(36,41,46);font-fami=
ly:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sa=
ns-serif,"Apple Color Emoji","Segoe UI Emoji","Seg=
oe UI Symbol";font-size:16px">=C2=A0in constexpr.</span>=C2=A0</div><d=
iv><br></div><div>Doesn't this imply that multiple calls to a constexpr=
function at compile-time with the same exact arguments, can lead to differ=
ent results? I believe this is novel for constexpr functions (other suppose=
d tricks that do so do not actually have this property). Would we disallow =
this from actually forming a core constant expression, or perhaps make it s=
o that it produces consistent results if being constant evaluated?</div></d=
iv></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/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0=
fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoo=
ter">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy=
9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com</a>.<br=
/>
--000000000000f1c365057bbc97af--
.
Author: "'Matt Calabrese' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Wed, 28 Nov 2018 12:47:24 -0500
Raw View
--00000000000055cf73057bbd2926
Content-Type: text/plain; charset="UTF-8"
On Wed, Nov 28, 2018 at 12:06 PM Matt Calabrese <calabrese@google.com>
wrote:
> Doesn't this imply that multiple calls to a constexpr function at
> compile-time with the same exact arguments, can lead to different results?
> I believe this is novel for constexpr functions (other supposed tricks that
> do so do not actually have this property). Would we disallow this from
> actually forming a core constant expression, or perhaps make it so that it
> produces consistent results if being constant evaluated?
>
Thinking about it further, I suspect that we might actually have the
property of multiple calls potentially producing different results due to
constexpr std::bit_cast.
--
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/CANh8DEmtN4uqF2QYhCxxvGMw98r%3DzpPN5MB_EThCA8X3ci%3DtBw%40mail.gmail.com.
--00000000000055cf73057bbd2926
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Nov 28=
, 2018 at 12:06 PM Matt Calabrese <<a href=3D"mailto:calabrese@google.co=
m">calabrese@google.com</a>> wrote:</div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">=
<div dir=3D"ltr"><div class=3D"gmail_quote"><div>Doesn't this imply tha=
t multiple calls to a constexpr function at compile-time with the same exac=
t arguments, can lead to different results? I believe this is novel for con=
stexpr functions (other supposed tricks that do so do not actually have thi=
s property). Would we disallow this from actually forming a core constant e=
xpression, or perhaps make it so that it produces consistent results if bei=
ng constant evaluated?</div></div></div></blockquote><div><br></div><div>Th=
inking about it further, I suspect that we might actually have the property=
of multiple calls potentially producing different results due to constexpr=
std::bit_cast.=C2=A0</div></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/CANh8DEmtN4uqF2QYhCxxvGMw98r%3DzpPN5M=
B_EThCA8X3ci%3DtBw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmtN4uq=
F2QYhCxxvGMw98r%3DzpPN5MB_EThCA8X3ci%3DtBw%40mail.gmail.com</a>.<br />
--00000000000055cf73057bbd2926--
.
Author: "'CJ Johnson' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Wed, 28 Nov 2018 11:03:13 -0800 (PST)
Raw View
------=_Part_2437_299415228.1543431793904
Content-Type: multipart/alternative;
boundary="----=_Part_2438_156256197.1543431793905"
------=_Part_2438_156256197.1543431793905
Content-Type: text/plain; charset="UTF-8"
You raised some good points! I wasn't sure what the behavior should be.
I've changed it now to be an open question under a new section. I also
added a question about bit_cast. Hopefully those in EWG will be able to
make that determination.
On Wednesday, November 28, 2018 at 12:06:59 PM UTC-5, Matt Calabrese wrote:
>
> On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard -
> Future Proposals <std-pr...@isocpp.org <javascript:>> wrote:
>
>> I mistakenly distributed this as P1331R0 before it was ready for the P
>> designation. It was/is still in draft state and so I've changed it to
>> D1331. Here's the new link:
>> https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045
>>
>> On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>>>
>>> Hi everyone! I'd really appreciate feedback on this EWG/CWG feature/bug
>>> fix paper. You can view the Markdown file via Github Gist here:
>>> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>>>
>>> Any comments, concerns, edits or whatever else would be very much
>>> appreciated. I'm a library developer and new to ISO Cpp standards work so
>>> I'm learning as I go.
>>>
>>
> I am fond of this paper, however there is an interesting note at the end:
>
> Note: Reading uninitialized instances of unsigned char is not undefined.
> That being the case, if adopted, this proposal would continue to consider
> it a special case and would thus permit unsigned char a; auto b = a; in
> constexpr.
>
> Doesn't this imply that multiple calls to a constexpr function at
> compile-time with the same exact arguments, can lead to different results?
> I believe this is novel for constexpr functions (other supposed tricks that
> do so do not actually have this property). Would we disallow this from
> actually forming a core constant expression, or perhaps make it so that it
> produces consistent results if being constant evaluated?
>
--
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/9aa4ee0e-0c96-4bdf-a5b9-a54989ba5bd6%40isocpp.org.
------=_Part_2438_156256197.1543431793905
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">You raised some good points! I wasn't sure what the be=
havior should be. I've changed it now to be an open question under a ne=
w section. I also added a question about bit_cast. Hopefully those in EWG w=
ill be able to make that determination.<br><br>On Wednesday, November 28, 2=
018 at 12:06:59 PM UTC-5, Matt Calabrese wrote:<blockquote class=3D"gmail_q=
uote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;pad=
ding-left: 1ex;"><div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"lt=
r">On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standa=
rd - Future Proposals <<a href=3D"javascript:" target=3D"_blank" gdf-obf=
uscated-mailto=3D"sMEUCA9eCAAJ" rel=3D"nofollow" onmousedown=3D"this.href=
=3D'javascript:';return true;" onclick=3D"this.href=3D'javascri=
pt:';return true;">std-pr...@isocpp.org</a>> wrote:<br></div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr">I mistakenly distributed this as P=
1331R0 before it was ready for the P designation. It was/is still in draft =
state and so I've changed it to D1331. Here's the new link: <a href=
=3D"https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045" ta=
rget=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D'https://ww=
w.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.com%2FCJ-Johnson%2F18485d3c=
5d60bdd0d2d5cae4fba7a045\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG5AxzHeZZ6=
i0IcgEZ8mTdWywp7TQ';return true;" onclick=3D"this.href=3D'https://w=
ww.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.com%2FCJ-Johnson%2F18485d3=
c5d60bdd0d2d5cae4fba7a045\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG5AxzHeZZ=
6i0IcgEZ8mTdWywp7TQ';return true;">https://gist.github.com/CJ-<wbr>John=
son/<wbr>18485d3c5d60bdd0d2d5cae4fba7a0<wbr>45</a><br><br>On Sunday, Novemb=
er 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:<blockquote class=3D"gma=
il_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;pa=
dding-left:1ex"><div dir=3D"ltr">Hi everyone! I'd really appreciate fee=
dback on this EWG/CWG feature/bug fix paper. You can view the Markdown file=
via Github Gist here:=C2=A0<a href=3D"https://gist.github.com/CJ-Johnson/c=
c5cf8ce5b6eba0114e23182daa8e6de" rel=3D"nofollow" target=3D"_blank" onmouse=
down=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgist=
..github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3dD\x26s=
ntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return true;" on=
click=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgis=
t.github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3dD\x26=
sntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return true;">h=
ttps://gist.github.com/<wbr>CJ-Johnson/<wbr>cc5cf8ce5b6eba0114e23182daa8e6<=
wbr>de</a><div><br></div><div>Any comments, concerns, edits or whatever els=
e would be very much appreciated. I'm a library developer and new to IS=
O Cpp standards work so I'm learning as I go.<br></div></div></blockquo=
te></div></blockquote><div><br></div><div>I am fond of this paper, however =
there is an interesting note at the end:</div><div><br></div><div><span sty=
le=3D"font-weight:600;color:rgb(36,41,46);font-family:-apple-system,BlinkMa=
cSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Col=
or Emoji","Segoe UI Emoji","Segoe UI Symbol";font-=
size:16px">Note</span><span style=3D"color:rgb(36,41,46);font-family:-apple=
-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,=
"Apple Color Emoji","Segoe UI Emoji","Segoe UI Sym=
bol";font-size:16px">: Reading uninitialized instances of=C2=A0</span>=
<code style=3D"font-family:SFMono-Regular,Consolas,"Liberation Mono&qu=
ot;,Menlo,Courier,monospace;font-size:13.6px;background-color:rgba(27,31,35=
,0.05);border-radius:3px;margin:0px;padding:0.2em 0.4em;color:rgb(36,41,46)=
">unsigned char</code><span style=3D"color:rgb(36,41,46);font-family:-apple=
-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,=
"Apple Color Emoji","Segoe UI Emoji","Segoe UI Sym=
bol";font-size:16px">=C2=A0is not undefined. That being the case, if a=
dopted, this proposal would continue to consider it a special case and woul=
d thus permit=C2=A0</span><code style=3D"font-family:SFMono-Regular,Consola=
s,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;back=
ground-color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em=
0.4em;color:rgb(36,41,46)">unsigned char a; auto b =3D a;</code><span styl=
e=3D"color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"=
;Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji",&q=
uot;Segoe UI Emoji","Segoe UI Symbol";font-size:16px">=C2=A0=
in constexpr.</span>=C2=A0</div><div><br></div><div>Doesn't this imply =
that multiple calls to a constexpr function at compile-time with the same e=
xact arguments, can lead to different results? I believe this is novel for =
constexpr functions (other supposed tricks that do so do not actually have =
this property). Would we disallow this from actually forming a core constan=
t expression, or perhaps make it so that it produces consistent results if =
being constant evaluated?</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/9aa4ee0e-0c96-4bdf-a5b9-a54989ba5bd6%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/9aa4ee0e-0c96-4bdf-a5b9-a54989ba5bd6=
%40isocpp.org</a>.<br />
------=_Part_2438_156256197.1543431793905--
------=_Part_2437_299415228.1543431793904--
.
Author: Richard Smith <richard@metafoo.co.uk>
Date: Wed, 28 Nov 2018 15:21:00 -0800
Raw View
--0000000000005aaaa1057bc1d247
Content-Type: text/plain; charset="UTF-8"
On Wed, 28 Nov 2018 at 09:06, 'Matt Calabrese' via ISO C++ Standard -
Future Proposals <std-proposals@isocpp.org> wrote:
> On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard -
> Future Proposals <std-proposals@isocpp.org> wrote:
>
>> I mistakenly distributed this as P1331R0 before it was ready for the P
>> designation. It was/is still in draft state and so I've changed it to
>> D1331. Here's the new link:
>> https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045
>>
>> On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>>>
>>> Hi everyone! I'd really appreciate feedback on this EWG/CWG feature/bug
>>> fix paper. You can view the Markdown file via Github Gist here:
>>> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>>>
>>> Any comments, concerns, edits or whatever else would be very much
>>> appreciated. I'm a library developer and new to ISO Cpp standards work so
>>> I'm learning as I go.
>>>
>>
> I am fond of this paper, however there is an interesting note at the end:
>
> Note: Reading uninitialized instances of unsigned char is not undefined.
> That being the case, if adopted, this proposal would continue to consider
> it a special case and would thus permit unsigned char a; auto b = a; in
> constexpr.
>
> Doesn't this imply that multiple calls to a constexpr function at
> compile-time with the same exact arguments, can lead to different results?
>
Not exactly. The value of both a and b in the above is (formally) a special
"indeterminate value"; any attempt by the program to observe an
indeterminate value results in undefined behavior (but we carve out a
special rule to allow indeterminate values to be copied around if you don't
look at them). So you don't get two different results, but you might get
undefined behavior, which might happen to *look like* two different results.
> I believe this is novel for constexpr functions (other supposed tricks
> that do so do not actually have this property). Would we disallow this from
> actually forming a core constant expression, or perhaps make it so that it
> produces consistent results if being constant evaluated?
>
> --
> 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/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOfiQqk8-DaRh7KcBsvo5bz%2Bicm9XqeXpSWnaV8t_%3DyJowZHSQ%40mail.gmail.com.
--0000000000005aaaa1057bc1d247
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, 28 Nov=
2018 at 09:06, 'Matt Calabrese' via ISO C++ Standard - Future Prop=
osals <<a href=3D"mailto:std-proposals@isocpp.org">std-proposals@isocpp.=
org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"=
><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Nov 28, 2018 at 11:56 =
AM 'CJ Johnson' via ISO C++ Standard - Future Proposals <<a href=
=3D"mailto:std-proposals@isocpp.org" target=3D"_blank">std-proposals@isocpp=
..org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr=
">I mistakenly distributed this as P1331R0 before it was ready for the P de=
signation. It was/is still in draft state and so I've changed it to D13=
31. Here's the new link: <a href=3D"https://gist.github.com/CJ-Johnson/=
18485d3c5d60bdd0d2d5cae4fba7a045" target=3D"_blank">https://gist.github.com=
/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045</a><br><br>On Sunday, November=
11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:<blockquote class=3D"gmail=
_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padd=
ing-left:1ex"><div dir=3D"ltr">Hi everyone! I'd really appreciate feedb=
ack on this EWG/CWG feature/bug fix paper. You can view the Markdown file v=
ia Github Gist here:=C2=A0<a href=3D"https://gist.github.com/CJ-Johnson/cc5=
cf8ce5b6eba0114e23182daa8e6de" rel=3D"nofollow" target=3D"_blank">https://g=
ist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de</a><div><br></di=
v><div>Any comments, concerns, edits or whatever else would be very much ap=
preciated. I'm a library developer and new to ISO Cpp standards work so=
I'm learning as I go.<br></div></div></blockquote></div></blockquote><=
div><br></div><div>I am fond of this paper, however there is an interesting=
note at the end:</div><div><br></div><div><span style=3D"box-sizing:border=
-box;font-weight:600;color:rgb(36,41,46);font-family:-apple-system,BlinkMac=
SystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Colo=
r Emoji","Segoe UI Emoji","Segoe UI Symbol";font-s=
ize:16px">Note</span><span style=3D"color:rgb(36,41,46);font-family:-apple-=
system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,&=
quot;Apple Color Emoji","Segoe UI Emoji","Segoe UI Symb=
ol";font-size:16px">: Reading uninitialized instances of=C2=A0</span><=
code style=3D"box-sizing:border-box;font-family:SFMono-Regular,Consolas,&qu=
ot;Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;backgroun=
d-color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em 0.4e=
m;color:rgb(36,41,46)">unsigned char</code><span style=3D"color:rgb(36,41,4=
6);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvet=
ica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji&quo=
t;,"Segoe UI Symbol";font-size:16px">=C2=A0is not undefined. That=
being the case, if adopted, this proposal would continue to consider it a =
special case and would thus permit=C2=A0</span><code style=3D"box-sizing:bo=
rder-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Me=
nlo,Courier,monospace;font-size:13.6px;background-color:rgba(27,31,35,0.05)=
;border-radius:3px;margin:0px;padding:0.2em 0.4em;color:rgb(36,41,46)">unsi=
gned char a; auto b =3D a;</code><span style=3D"color:rgb(36,41,46);font-fa=
mily:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,=
sans-serif,"Apple Color Emoji","Segoe UI Emoji","S=
egoe UI Symbol";font-size:16px">=C2=A0in constexpr.</span>=C2=A0</div>=
<div><br></div><div>Doesn't this imply that multiple calls to a constex=
pr function at compile-time with the same exact arguments, can lead to diff=
erent results?</div></div></div></blockquote><div><br></div><div>Not exactl=
y. The value of both a and b in the above is (formally) a special "ind=
eterminate value"; any attempt by the program to observe an indetermin=
ate value results in undefined behavior (but we carve out a special rule to=
allow indeterminate values to be copied around if you don't look at th=
em). So you don't get two different results, but you might get undefine=
d behavior, which might happen to *look like* two different results.</div><=
div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=
=3D"gmail_quote"><div>I believe this is novel for constexpr functions (othe=
r supposed tricks that do so do not actually have this property). Would we =
disallow this from actually forming a core constant expression, or perhaps =
make it so that it produces consistent results if being constant evaluated?=
</div></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" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0=
fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=3Demail&utm_source=
=3Dfooter" target=3D"_blank">https://groups.google.com/a/isocpp.org/d/msgid=
/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%=
40mail.gmail.com</a>.<br>
</blockquote></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/CAOfiQqk8-DaRh7KcBsvo5bz%2Bicm9XqeXpS=
WnaV8t_%3DyJowZHSQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOfiQqk8-DaR=
h7KcBsvo5bz%2Bicm9XqeXpSWnaV8t_%3DyJowZHSQ%40mail.gmail.com</a>.<br />
--0000000000005aaaa1057bc1d247--
.
Author: "'CJ Johnson' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Wed, 28 Nov 2018 16:46:31 -0800 (PST)
Raw View
------=_Part_2686_404559805.1543452391999
Content-Type: multipart/alternative;
boundary="----=_Part_2687_2136565923.1543452391999"
------=_Part_2687_2136565923.1543452391999
Content-Type: text/plain; charset="UTF-8"
Right now this is left as an open question. Should I add a potential
answer? What do you think the semantics should be?
On Wednesday, November 28, 2018 at 6:21:18 PM UTC-5, Richard Smith wrote:
>
> On Wed, 28 Nov 2018 at 09:06, 'Matt Calabrese' via ISO C++ Standard -
> Future Proposals <std-pr...@isocpp.org <javascript:>> wrote:
>
>> On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard -
>> Future Proposals <std-pr...@isocpp.org <javascript:>> wrote:
>>
>>> I mistakenly distributed this as P1331R0 before it was ready for the P
>>> designation. It was/is still in draft state and so I've changed it to
>>> D1331. Here's the new link:
>>> https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045
>>>
>>> On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>>>>
>>>> Hi everyone! I'd really appreciate feedback on this EWG/CWG feature/bug
>>>> fix paper. You can view the Markdown file via Github Gist here:
>>>> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>>>>
>>>> Any comments, concerns, edits or whatever else would be very much
>>>> appreciated. I'm a library developer and new to ISO Cpp standards work so
>>>> I'm learning as I go.
>>>>
>>>
>> I am fond of this paper, however there is an interesting note at the end:
>>
>> Note: Reading uninitialized instances of unsigned char is not undefined.
>> That being the case, if adopted, this proposal would continue to consider
>> it a special case and would thus permit unsigned char a; auto b = a; in
>> constexpr.
>>
>> Doesn't this imply that multiple calls to a constexpr function at
>> compile-time with the same exact arguments, can lead to different results?
>>
>
> Not exactly. The value of both a and b in the above is (formally) a
> special "indeterminate value"; any attempt by the program to observe an
> indeterminate value results in undefined behavior (but we carve out a
> special rule to allow indeterminate values to be copied around if you don't
> look at them). So you don't get two different results, but you might get
> undefined behavior, which might happen to *look like* two different results.
>
>
>> I believe this is novel for constexpr functions (other supposed tricks
>> that do so do not actually have this property). Would we disallow this from
>> actually forming a core constant expression, or perhaps make it so that it
>> produces consistent results if being constant evaluated?
>>
>> --
>> 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-proposal...@isocpp.org <javascript:>.
>> To post to this group, send email to std-pr...@isocpp.org <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com
>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%40isocpp.org.
------=_Part_2687_2136565923.1543452391999
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Right now this is left as an open question. Should I add a=
potential answer? What do you think the semantics should be?<br><br>On Wed=
nesday, November 28, 2018 at 6:21:18 PM UTC-5, Richard Smith wrote:<blockqu=
ote 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 class=3D"gmail_q=
uote"><div dir=3D"ltr">On Wed, 28 Nov 2018 at 09:06, 'Matt Calabrese=
9; via ISO C++ Standard - Future Proposals <<a href=3D"javascript:" targ=
et=3D"_blank" gdf-obfuscated-mailto=3D"SdxHBtAIAgAJ" rel=3D"nofollow" onmou=
sedown=3D"this.href=3D'javascript:';return true;" onclick=3D"this.h=
ref=3D'javascript:';return true;">std-pr...@isocpp.org</a>> wrot=
e:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"g=
mail_quote"><div dir=3D"ltr">On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johns=
on' via ISO C++ Standard - Future Proposals <<a href=3D"javascript:"=
target=3D"_blank" gdf-obfuscated-mailto=3D"SdxHBtAIAgAJ" rel=3D"nofollow" =
onmousedown=3D"this.href=3D'javascript:';return true;" onclick=3D"t=
his.href=3D'javascript:';return true;">std-pr...@isocpp.org</a>>=
wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">I mistaken=
ly distributed this as P1331R0 before it was ready for the P designation. I=
t was/is still in draft state and so I've changed it to D1331. Here'=
;s the new link: <a href=3D"https://gist.github.com/CJ-Johnson/18485d3c5d60=
bdd0d2d5cae4fba7a045" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"thi=
s.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.com=
%2FCJ-Johnson%2F18485d3c5d60bdd0d2d5cae4fba7a045\x26sa\x3dD\x26sntz\x3d1\x2=
6usg\x3dAFQjCNG5AxzHeZZ6i0IcgEZ8mTdWywp7TQ';return true;" onclick=3D"th=
is.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.co=
m%2FCJ-Johnson%2F18485d3c5d60bdd0d2d5cae4fba7a045\x26sa\x3dD\x26sntz\x3d1\x=
26usg\x3dAFQjCNG5AxzHeZZ6i0IcgEZ8mTdWywp7TQ';return true;">https://gist=
..github.com/CJ-<wbr>Johnson/<wbr>18485d3c5d60bdd0d2d5cae4fba7a0<wbr>45</a><=
br><br>On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:=
<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;borde=
r-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Hi everyone! I'=
;d really appreciate feedback on this EWG/CWG feature/bug fix paper. You ca=
n view the Markdown file via Github Gist here:=C2=A0<a href=3D"https://gist=
..github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de" rel=3D"nofollow" t=
arget=3D"_blank" onmousedown=3D"this.href=3D'https://www.google.com/url=
?q\x3dhttps%3A%2F%2Fgist.github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182=
daa8e6de\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0G=
Qw';return true;" onclick=3D"this.href=3D'https://www.google.com/ur=
l?q\x3dhttps%3A%2F%2Fgist.github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e2318=
2daa8e6de\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0=
GQw';return true;">https://gist.github.com/<wbr>CJ-Johnson/<wbr>cc5cf8c=
e5b6eba0114e23182daa8e6<wbr>de</a><div><br></div><div>Any comments, concern=
s, edits or whatever else would be very much appreciated. I'm a library=
developer and new to ISO Cpp standards work so I'm learning as I go.<b=
r></div></div></blockquote></div></blockquote><div><br></div><div>I am fond=
of this paper, however there is an interesting note at the end:</div><div>=
<br></div><div><span style=3D"font-weight:600;color:rgb(36,41,46);font-fami=
ly:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sa=
ns-serif,"Apple Color Emoji","Segoe UI Emoji","Seg=
oe UI Symbol";font-size:16px">Note</span><span style=3D"color:rgb(36,4=
1,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Hel=
vetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji&=
quot;,"Segoe UI Symbol";font-size:16px">: Reading uninitialized i=
nstances of=C2=A0</span><code style=3D"font-family:SFMono-Regular,Consolas,=
"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;backgr=
ound-color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em 0=
..4em;color:rgb(36,41,46)">unsigned char</code><span style=3D"color:rgb(36,4=
1,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Hel=
vetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji&=
quot;,"Segoe UI Symbol";font-size:16px">=C2=A0is not undefined. T=
hat being the case, if adopted, this proposal would continue to consider it=
a special case and would thus permit=C2=A0</span><code style=3D"font-famil=
y:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospa=
ce;font-size:13.6px;background-color:rgba(27,31,35,0.05);border-radius:3px;=
margin:0px;padding:0.2em 0.4em;color:rgb(36,41,46)">unsigned char a; auto b=
=3D a;</code><span style=3D"color:rgb(36,41,46);font-family:-apple-system,=
BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Ap=
ple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"=
;;font-size:16px">=C2=A0in constexpr.</span>=C2=A0</div><div><br></div><div=
>Doesn't this imply that multiple calls to a constexpr function at comp=
ile-time with the same exact arguments, can lead to different results?</div=
></div></div></blockquote><div><br></div><div>Not exactly. The value of bot=
h a and b in the above is (formally) a special "indeterminate value&qu=
ot;; any attempt by the program to observe an indeterminate value results i=
n undefined behavior (but we carve out a special rule to allow indeterminat=
e values to be copied around if you don't look at them). So you don'=
;t get two different results, but you might get undefined behavior, which m=
ight happen to *look like* two different results.</div><div>=C2=A0</div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><di=
v>I believe this is novel for constexpr functions (other supposed tricks th=
at do so do not actually have this property). Would we disallow this from a=
ctually forming a core constant expression, or perhaps make it so that it p=
roduces consistent results if being constant evaluated?</div></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"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D"=
SdxHBtAIAgAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D'javascript:&=
#39;;return true;" onclick=3D"this.href=3D'javascript:';return true=
;">std-proposal...@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"javascript:" target=3D"_bla=
nk" gdf-obfuscated-mailto=3D"SdxHBtAIAgAJ" rel=3D"nofollow" onmousedown=3D"=
this.href=3D'javascript:';return true;" onclick=3D"this.href=3D'=
;javascript:';return true;">std-pr...@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/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0=
fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=3Demail&utm_source=
=3Dfooter" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#=
39;https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9u=
UrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_mediu=
m\x3demail\x26utm_source\x3dfooter';return true;" onclick=3D"this.href=
=3D'https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8D=
Emy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_=
medium\x3demail\x26utm_source\x3dfooter';return true;">https://groups.g=
oogle.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/<wbr>CANh8DEmy9uUrNp=
4yAX7f%3DOc4p%<wbr>3DqVqeS0fN11bFVBwtaZ%3Dbu%<wbr>3DdQ%40mail.gmail.com</a>=
..<br>
</blockquote></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/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77=
%40isocpp.org</a>.<br />
------=_Part_2687_2136565923.1543452391999--
------=_Part_2686_404559805.1543452391999--
.
Author: Richard Smith <richard@metafoo.co.uk>
Date: Wed, 28 Nov 2018 18:02:35 -0800
Raw View
--0000000000003e8fda057bc4144d
Content-Type: text/plain; charset="UTF-8"
We permit copying of uninitialized unsigned char objects to allow
implementing things like memcpy in plain C++. For constant evaluation, that
won't work for other reasons (you can't do byte-by-byte copying of symbolic
values), so I think the most reasonable thing would be to say that (in the
short term at least), reading the value of an uninitialized object is
non-constant regardless of its type. We can revisit that decision if we
find a use case, but going in the other direction would be more problematic
due to being a potentially breaking change.
On Wed, 28 Nov 2018 at 16:46, 'CJ Johnson' via ISO C++ Standard - Future
Proposals <std-proposals@isocpp.org> wrote:
> Right now this is left as an open question. Should I add a potential
> answer? What do you think the semantics should be?
>
> On Wednesday, November 28, 2018 at 6:21:18 PM UTC-5, Richard Smith wrote:
>>
>> On Wed, 28 Nov 2018 at 09:06, 'Matt Calabrese' via ISO C++ Standard -
>> Future Proposals <std-pr...@isocpp.org> wrote:
>>
>>> On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard -
>>> Future Proposals <std-pr...@isocpp.org> wrote:
>>>
>>>> I mistakenly distributed this as P1331R0 before it was ready for the P
>>>> designation. It was/is still in draft state and so I've changed it to
>>>> D1331. Here's the new link:
>>>> https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045
>>>>
>>>> On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>>>>>
>>>>> Hi everyone! I'd really appreciate feedback on this EWG/CWG
>>>>> feature/bug fix paper. You can view the Markdown file via Github Gist here:
>>>>> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>>>>>
>>>>> Any comments, concerns, edits or whatever else would be very much
>>>>> appreciated. I'm a library developer and new to ISO Cpp standards work so
>>>>> I'm learning as I go.
>>>>>
>>>>
>>> I am fond of this paper, however there is an interesting note at the end:
>>>
>>> Note: Reading uninitialized instances of unsigned char is not
>>> undefined. That being the case, if adopted, this proposal would continue to
>>> consider it a special case and would thus permit unsigned char a; auto
>>> b = a; in constexpr.
>>>
>>> Doesn't this imply that multiple calls to a constexpr function at
>>> compile-time with the same exact arguments, can lead to different results?
>>>
>>
>> Not exactly. The value of both a and b in the above is (formally) a
>> special "indeterminate value"; any attempt by the program to observe an
>> indeterminate value results in undefined behavior (but we carve out a
>> special rule to allow indeterminate values to be copied around if you don't
>> look at them). So you don't get two different results, but you might get
>> undefined behavior, which might happen to *look like* two different results.
>>
>>
>>> I believe this is novel for constexpr functions (other supposed tricks
>>> that do so do not actually have this property). Would we disallow this from
>>> actually forming a core constant expression, or perhaps make it so that it
>>> produces consistent results if being constant evaluated?
>>>
>>> --
>>> 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-proposal...@isocpp.org.
>>> To post to this group, send email to std-pr...@isocpp.org.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com
>>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit
> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%40isocpp.org
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%40isocpp.org?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOfiQqkWdz1s5vhieLxzBucuVozT3eNjfO7oAApP6-6%2Bwi%3DUhQ%40mail.gmail.com.
--0000000000003e8fda057bc4144d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">We permit copying of uninitialized unsigned char objects t=
o allow implementing things like memcpy in plain C++. For constant evaluati=
on, that won't work for other reasons (you can't do byte-by-byte co=
pying of symbolic values), so I think the most reasonable thing would be to=
say that (in the short term at least), reading the value of an uninitializ=
ed object is non-constant regardless of its type. We can revisit that decis=
ion if we find a use case, but going in the other direction would be more p=
roblematic due to being a potentially breaking change.<br><br><div class=3D=
"gmail_quote"><div dir=3D"ltr">On Wed, 28 Nov 2018 at 16:46, 'CJ Johnso=
n' via ISO C++ Standard - Future Proposals <<a href=3D"mailto:std-pr=
oposals@isocpp.org">std-proposals@isocpp.org</a>> wrote:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
solid;padding-left:1ex"><div dir=3D"ltr">Right now this is left as an open=
question. Should I add a potential answer? What do you think the semantics=
should be?<br><br>On Wednesday, November 28, 2018 at 6:21:18 PM UTC-5, Ric=
hard Smith 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 class=3D"gmail_quote"><div dir=3D"ltr">On Wed, 28 Nov 2018 at 09:06, &#=
39;Matt Calabrese' via ISO C++ Standard - Future Proposals <<a rel=
=3D"nofollow">std-pr...@isocpp.org</a>> wrote:<br></div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr"=
>On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard=
- Future Proposals <<a rel=3D"nofollow">std-pr...@isocpp.org</a>> wr=
ote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">I mistakenly =
distributed this as P1331R0 before it was ready for the P designation. It w=
as/is still in draft state and so I've changed it to D1331. Here's =
the new link: <a href=3D"https://gist.github.com/CJ-Johnson/18485d3c5d60bdd=
0d2d5cae4fba7a045" rel=3D"nofollow" target=3D"_blank">https://gist.github.c=
om/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045</a><br><br>On Sunday, Novemb=
er 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:<blockquote class=3D"gma=
il_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;pa=
dding-left:1ex"><div dir=3D"ltr">Hi everyone! I'd really appreciate fee=
dback on this EWG/CWG feature/bug fix paper. You can view the Markdown file=
via Github Gist here:=C2=A0<a href=3D"https://gist.github.com/CJ-Johnson/c=
c5cf8ce5b6eba0114e23182daa8e6de" rel=3D"nofollow" target=3D"_blank">https:/=
/gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de</a><div><br></=
div><div>Any comments, concerns, edits or whatever else would be very much =
appreciated. I'm a library developer and new to ISO Cpp standards work =
so I'm learning as I go.<br></div></div></blockquote></div></blockquote=
><div><br></div><div>I am fond of this paper, however there is an interesti=
ng note at the end:</div><div><br></div><div><span style=3D"font-weight:600=
;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Seg=
oe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","=
Segoe UI Emoji","Segoe UI Symbol";font-size:16px">Note</span=
><span style=3D"color:rgb(36,41,46);font-family:-apple-system,BlinkMacSyste=
mFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emo=
ji","Segoe UI Emoji","Segoe UI Symbol";font-size:1=
6px">: Reading uninitialized instances of=C2=A0</span><code style=3D"font-f=
amily:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,mon=
ospace;font-size:13.6px;background-color:rgba(27,31,35,0.05);border-radius:=
3px;margin:0px;padding:0.2em 0.4em;color:rgb(36,41,46)">unsigned char</code=
><span style=3D"color:rgb(36,41,46);font-family:-apple-system,BlinkMacSyste=
mFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emo=
ji","Segoe UI Emoji","Segoe UI Symbol";font-size:1=
6px">=C2=A0is not undefined. That being the case, if adopted, this proposal=
would continue to consider it a special case and would thus permit=C2=A0</=
span><code style=3D"font-family:SFMono-Regular,Consolas,"Liberation Mo=
no",Menlo,Courier,monospace;font-size:13.6px;background-color:rgba(27,=
31,35,0.05);border-radius:3px;margin:0px;padding:0.2em 0.4em;color:rgb(36,4=
1,46)">unsigned char a; auto b =3D a;</code><span style=3D"color:rgb(36,41,=
46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helve=
tica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji&qu=
ot;,"Segoe UI Symbol";font-size:16px">=C2=A0in constexpr.</span>=
=C2=A0</div><div><br></div><div>Doesn't this imply that multiple calls =
to a constexpr function at compile-time with the same exact arguments, can =
lead to different results?</div></div></div></blockquote><div><br></div><di=
v>Not exactly. The value of both a and b in the above is (formally) a speci=
al "indeterminate value"; any attempt by the program to observe a=
n indeterminate value results in undefined behavior (but we carve out a spe=
cial rule to allow indeterminate values to be copied around if you don'=
t look at them). So you don't get two different results, but you might =
get undefined behavior, which might happen to *look like* two different res=
ults.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"=
><div class=3D"gmail_quote"><div>I believe this is novel for constexpr func=
tions (other supposed tricks that do so do not actually have this property)=
.. Would we disallow this from actually forming a core constant expression, =
or perhaps make it so that it produces consistent results if being constant=
evaluated?</div></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 rel=3D"nofollow">std-proposal...@isocpp.org</a>.<br>
To post to this group, send email to <a rel=3D"nofollow">std-pr...@isocpp.o=
rg</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/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0=
fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=3Demail&utm_source=
=3Dfooter" rel=3D"nofollow" target=3D"_blank">https://groups.google.com/a/i=
socpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bF=
VBwtaZ%3Dbu%3DdQ%40mail.gmail.com</a>.<br>
</blockquote></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" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter" target=3D"_blank">=
https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-=
48bc-8f84-d71a44ba5c77%40isocpp.org</a>.<br>
</blockquote></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/CAOfiQqkWdz1s5vhieLxzBucuVozT3eNjfO7o=
AApP6-6%2Bwi%3DUhQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOfiQqkWdz1s=
5vhieLxzBucuVozT3eNjfO7oAApP6-6%2Bwi%3DUhQ%40mail.gmail.com</a>.<br />
--0000000000003e8fda057bc4144d--
.
Author: "'CJ Johnson' via ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Date: Thu, 29 Nov 2018 06:30:50 -0800 (PST)
Raw View
------=_Part_2718_906222858.1543501850283
Content-Type: multipart/alternative;
boundary="----=_Part_2719_1319527231.1543501850284"
------=_Part_2719_1319527231.1543501850284
Content-Type: text/plain; charset="UTF-8"
Sounds good to me! Added to the draft :)
On Wednesday, November 28, 2018 at 9:05:36 PM UTC-5, Richard Smith wrote:
>
> We permit copying of uninitialized unsigned char objects to allow
> implementing things like memcpy in plain C++. For constant evaluation, that
> won't work for other reasons (you can't do byte-by-byte copying of symbolic
> values), so I think the most reasonable thing would be to say that (in the
> short term at least), reading the value of an uninitialized object is
> non-constant regardless of its type. We can revisit that decision if we
> find a use case, but going in the other direction would be more problematic
> due to being a potentially breaking change.
>
> On Wed, 28 Nov 2018 at 16:46, 'CJ Johnson' via ISO C++ Standard - Future
> Proposals <std-pr...@isocpp.org <javascript:>> wrote:
>
>> Right now this is left as an open question. Should I add a potential
>> answer? What do you think the semantics should be?
>>
>> On Wednesday, November 28, 2018 at 6:21:18 PM UTC-5, Richard Smith wrote:
>>>
>>> On Wed, 28 Nov 2018 at 09:06, 'Matt Calabrese' via ISO C++ Standard -
>>> Future Proposals <std-pr...@isocpp.org> wrote:
>>>
>>>> On Wed, Nov 28, 2018 at 11:56 AM 'CJ Johnson' via ISO C++ Standard -
>>>> Future Proposals <std-pr...@isocpp.org> wrote:
>>>>
>>>>> I mistakenly distributed this as P1331R0 before it was ready for the P
>>>>> designation. It was/is still in draft state and so I've changed it to
>>>>> D1331. Here's the new link:
>>>>> https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045
>>>>>
>>>>> On Sunday, November 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:
>>>>>>
>>>>>> Hi everyone! I'd really appreciate feedback on this EWG/CWG
>>>>>> feature/bug fix paper. You can view the Markdown file via Github Gist here:
>>>>>> https://gist.github.com/CJ-Johnson/cc5cf8ce5b6eba0114e23182daa8e6de
>>>>>>
>>>>>> Any comments, concerns, edits or whatever else would be very much
>>>>>> appreciated. I'm a library developer and new to ISO Cpp standards work so
>>>>>> I'm learning as I go.
>>>>>>
>>>>>
>>>> I am fond of this paper, however there is an interesting note at the
>>>> end:
>>>>
>>>> Note: Reading uninitialized instances of unsigned char is not
>>>> undefined. That being the case, if adopted, this proposal would continue to
>>>> consider it a special case and would thus permit unsigned char a; auto
>>>> b = a; in constexpr.
>>>>
>>>> Doesn't this imply that multiple calls to a constexpr function at
>>>> compile-time with the same exact arguments, can lead to different results?
>>>>
>>>
>>> Not exactly. The value of both a and b in the above is (formally) a
>>> special "indeterminate value"; any attempt by the program to observe an
>>> indeterminate value results in undefined behavior (but we carve out a
>>> special rule to allow indeterminate values to be copied around if you don't
>>> look at them). So you don't get two different results, but you might get
>>> undefined behavior, which might happen to *look like* two different results.
>>>
>>>
>>>> I believe this is novel for constexpr functions (other supposed tricks
>>>> that do so do not actually have this property). Would we disallow this from
>>>> actually forming a core constant expression, or perhaps make it so that it
>>>> produces consistent results if being constant evaluated?
>>>>
>>>> --
>>>> 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-proposal...@isocpp.org.
>>>> To post to this group, send email to std-pr...@isocpp.org.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com
>>>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "ISO C++ Standard - Future Proposals" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to std-proposal...@isocpp.org <javascript:>.
>> To post to this group, send email to std-pr...@isocpp.org <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%40isocpp.org
>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%40isocpp.org?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/d4680c2e-fc94-4a8e-8162-679411a0e61f%40isocpp.org.
------=_Part_2719_1319527231.1543501850284
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Sounds good to me! Added to the draft :)<br><br>On Wednesd=
ay, November 28, 2018 at 9:05:36 PM UTC-5, Richard Smith wrote:<blockquote =
class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1p=
x #ccc solid;padding-left: 1ex;"><div dir=3D"ltr">We permit copying of unin=
itialized unsigned char objects to allow implementing things like memcpy in=
plain C++. For constant evaluation, that won't work for other reasons =
(you can't do byte-by-byte copying of symbolic values), so I think the =
most reasonable thing would be to say that (in the short term at least), re=
ading the value of an uninitialized object is non-constant regardless of it=
s type. We can revisit that decision if we find a use case, but going in th=
e other direction would be more problematic due to being a potentially brea=
king change.<br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, 28 =
Nov 2018 at 16:46, 'CJ Johnson' via ISO C++ Standard - Future Propo=
sals <<a href=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D=
"hGiOS8cRAgAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D'javascript:=
';return true;" onclick=3D"this.href=3D'javascript:';return tru=
e;">std-pr...@isocpp.org</a>> wrote:<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex"><div dir=3D"ltr">Right now this is left as an open question. Should I =
add a potential answer? What do you think the semantics should be?<br><br>O=
n Wednesday, November 28, 2018 at 6:21:18 PM UTC-5, Richard Smith wrote:<bl=
ockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_q=
uote"><div dir=3D"ltr">On Wed, 28 Nov 2018 at 09:06, 'Matt Calabrese=
9; via ISO C++ Standard - Future Proposals <<a rel=3D"nofollow">std-pr..=
..@isocpp.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div di=
r=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Nov 28, 2018 =
at 11:56 AM 'CJ Johnson' via ISO C++ Standard - Future Proposals &l=
t;<a rel=3D"nofollow">std-pr...@isocpp.org</a>> wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex"><div dir=3D"ltr">I mistakenly distributed this as P1=
331R0 before it was ready for the P designation. It was/is still in draft s=
tate and so I've changed it to D1331. Here's the new link: <a href=
=3D"https://gist.github.com/CJ-Johnson/18485d3c5d60bdd0d2d5cae4fba7a045" re=
l=3D"nofollow" target=3D"_blank" onmousedown=3D"this.href=3D'https://ww=
w.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.com%2FCJ-Johnson%2F18485d3c=
5d60bdd0d2d5cae4fba7a045\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG5AxzHeZZ6=
i0IcgEZ8mTdWywp7TQ';return true;" onclick=3D"this.href=3D'https://w=
ww.google.com/url?q\x3dhttps%3A%2F%2Fgist.github.com%2FCJ-Johnson%2F18485d3=
c5d60bdd0d2d5cae4fba7a045\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG5AxzHeZZ=
6i0IcgEZ8mTdWywp7TQ';return true;">https://gist.github.com/CJ-<wbr>John=
son/<wbr>18485d3c5d60bdd0d2d5cae4fba7a0<wbr>45</a><br><br>On Sunday, Novemb=
er 11, 2018 at 10:51:59 AM UTC-5, CJ Johnson wrote:<blockquote class=3D"gma=
il_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;pa=
dding-left:1ex"><div dir=3D"ltr">Hi everyone! I'd really appreciate fee=
dback on this EWG/CWG feature/bug fix paper. You can view the Markdown file=
via Github Gist here:=C2=A0<a href=3D"https://gist.github.com/CJ-Johnson/c=
c5cf8ce5b6eba0114e23182daa8e6de" rel=3D"nofollow" target=3D"_blank" onmouse=
down=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgist=
..github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3dD\x26s=
ntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return true;" on=
click=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgis=
t.github.com%2FCJ-Johnson%2Fcc5cf8ce5b6eba0114e23182daa8e6de\x26sa\x3dD\x26=
sntz\x3d1\x26usg\x3dAFQjCNF9I_a05N5t8tVZZ_0VTJIL4-0GQw';return true;">h=
ttps://gist.github.com/<wbr>CJ-Johnson/<wbr>cc5cf8ce5b6eba0114e23182daa8e6<=
wbr>de</a><div><br></div><div>Any comments, concerns, edits or whatever els=
e would be very much appreciated. I'm a library developer and new to IS=
O Cpp standards work so I'm learning as I go.<br></div></div></blockquo=
te></div></blockquote><div><br></div><div>I am fond of this paper, however =
there is an interesting note at the end:</div><div><br></div><div><span sty=
le=3D"font-weight:600;color:rgb(36,41,46);font-family:-apple-system,BlinkMa=
cSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Col=
or Emoji","Segoe UI Emoji","Segoe UI Symbol";font-=
size:16px">Note</span><span style=3D"color:rgb(36,41,46);font-family:-apple=
-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,=
"Apple Color Emoji","Segoe UI Emoji","Segoe UI Sym=
bol";font-size:16px">: Reading uninitialized instances of=C2=A0</span>=
<code style=3D"font-family:SFMono-Regular,Consolas,"Liberation Mono&qu=
ot;,Menlo,Courier,monospace;font-size:13.6px;background-color:rgba(27,31,35=
,0.05);border-radius:3px;margin:0px;padding:0.2em 0.4em;color:rgb(36,41,46)=
">unsigned char</code><span style=3D"color:rgb(36,41,46);font-family:-apple=
-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,=
"Apple Color Emoji","Segoe UI Emoji","Segoe UI Sym=
bol";font-size:16px">=C2=A0is not undefined. That being the case, if a=
dopted, this proposal would continue to consider it a special case and woul=
d thus permit=C2=A0</span><code style=3D"font-family:SFMono-Regular,Consola=
s,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;back=
ground-color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em=
0.4em;color:rgb(36,41,46)">unsigned char a; auto b =3D a;</code><span styl=
e=3D"color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"=
;Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji",&q=
uot;Segoe UI Emoji","Segoe UI Symbol";font-size:16px">=C2=A0=
in constexpr.</span>=C2=A0</div><div><br></div><div>Doesn't this imply =
that multiple calls to a constexpr function at compile-time with the same e=
xact arguments, can lead to different results?</div></div></div></blockquot=
e><div><br></div><div>Not exactly. The value of both a and b in the above i=
s (formally) a special "indeterminate value"; any attempt by the =
program to observe an indeterminate value results in undefined behavior (bu=
t we carve out a special rule to allow indeterminate values to be copied ar=
ound if you don't look at them). So you don't get two different res=
ults, but you might get undefined behavior, which might happen to *look lik=
e* two different results.</div><div>=C2=A0</div><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><div>I believe this is nove=
l for constexpr functions (other supposed tricks that do so do not actually=
have this property). Would we disallow this from actually forming a core c=
onstant expression, or perhaps make it so that it produces consistent resul=
ts if being constant evaluated?</div></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 rel=3D"nofollow">std-proposal...@isocpp.org</a>.<br>
To post to this group, send email to <a rel=3D"nofollow">std-pr...@isocpp.o=
rg</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/CANh8DEmy9uUrNp4yAX7f%3DOc4p%3DqVqeS0=
fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_medium=3Demail&utm_source=
=3Dfooter" rel=3D"nofollow" target=3D"_blank" onmousedown=3D"this.href=3D&#=
39;https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8DEmy9u=
UrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_mediu=
m\x3demail\x26utm_source\x3dfooter';return true;" onclick=3D"this.href=
=3D'https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CANh8D=
Emy9uUrNp4yAX7f%3DOc4p%3DqVqeS0fN11bFVBwtaZ%3Dbu%3DdQ%40mail.gmail.com?utm_=
medium\x3demail\x26utm_source\x3dfooter';return true;">https://groups.g=
oogle.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/<wbr>CANh8DEmy9uUrNp=
4yAX7f%3DOc4p%<wbr>3DqVqeS0fN11bFVBwtaZ%3Dbu%<wbr>3DdQ%40mail.gmail.com</a>=
..<br>
</blockquote></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"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D"=
hGiOS8cRAgAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D'javascript:&=
#39;;return true;" onclick=3D"this.href=3D'javascript:';return true=
;">std-proposal...@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"javascript:" target=3D"_bla=
nk" gdf-obfuscated-mailto=3D"hGiOS8cRAgAJ" rel=3D"nofollow" onmousedown=3D"=
this.href=3D'javascript:';return true;" onclick=3D"this.href=3D'=
;javascript:';return true;">std-pr...@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/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter" target=3D"_blank" =
rel=3D"nofollow" onmousedown=3D"this.href=3D'https://groups.google.com/=
a/isocpp.org/d/msgid/std-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%40i=
socpp.org?utm_medium\x3demail\x26utm_source\x3dfooter';return true;" on=
click=3D"this.href=3D'https://groups.google.com/a/isocpp.org/d/msgid/st=
d-proposals/790ba68a-bdbd-48bc-8f84-d71a44ba5c77%40isocpp.org?utm_medium\x3=
demail\x26utm_source\x3dfooter';return true;">https://groups.google.com=
/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/790ba68a-bdbd-48bc-<wbr>8f84-=
d71a44ba5c77%40isocpp.org</a><wbr>.<br>
</blockquote></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/d4680c2e-fc94-4a8e-8162-679411a0e61f%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/d4680c2e-fc94-4a8e-8162-679411a0e61f=
%40isocpp.org</a>.<br />
------=_Part_2719_1319527231.1543501850284--
------=_Part_2718_906222858.1543501850283--
.