Topic: [std-proposals] About p0697r0 how SD-6 unclear s
Author: =?UTF-8?Q?Micha=C5=82_W=2E_Urba=C5=84czyk?=
Date: Wed, 28 Jun 2017 12:51:10 -0700 (PDT)
Raw View
------=_Part_3032_1664130421.1498679470642
Content-Type: multipart/alternative;
boundary="----=_Part_3033_364576061.1498679470642"
------=_Part_3033_364576061.1498679470642
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi everyone,
I saw recent paper on feature test macros (p0697r0 [1]) and I'd like to=20
share my very recent experience in that matter as a plain C++ user =E2=80=
=94 SD-6=20
presence and its unclear status proved harmful to me.
I wanted to port one of my projects to VS2017 =E2=80=94 that eventually [2]=
led me=20
to an issue within the Qt framework. It provides the "qOverload" variable=
=20
template for compilers that support C++14 variable templates. The feature=
=20
detection is based on SD-6 feature macro, so "qOverload" is not visible=20
under MSVC, even though it supports variable templates. When I reported the=
=20
issue to Qt mainteners, I was informed that not supporting VS there was an=
=20
intentional choice to save on maintenance cost and that users should report=
=20
it to MS to force them to implement SD-6. [3]
I feel like I've been catched in a crossfire between vendors who took=20
different approaches towards SD-6 adoption. While it may be argued that=20
either MS or Qt is at fault (respectively for not implementing useful SD-6=
=20
macros or for requiring non-standard feature), I think that problem should=
=20
be finally solved by WG21, as stated in p0697r0.
Both Qt framework and Visual Studio are vital parts of C++ ecosystem and=20
not being able to fully used them together will likely be an increasing=20
problem point, as C++14 and C++17 gains further adoption.
I hope you might find my story relevant with regards to the upcoming=20
discussion on the SD-6 future.
Best regards,
Micha=C5=82
[1] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0697r0.pdf
[2] https://github.com/woboq/verdigris/issues/6
[3]=20
https://bugreports.qt.io/browse/QTBUG-61667?focusedCommentId=3D362506&page=
=3Dcom.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comme=
nt-362506
--=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/75ec58fe-f4c5-4ec5-b893-c9feeb77fed2%40isocpp.or=
g.
------=_Part_3033_364576061.1498679470642
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hi everyone,<br>I saw recent paper on feature test macros =
(p0697r0 [1]) and I'd like to share my very recent experience in that m=
atter as a plain C++ user =E2=80=94 SD-6 presence and its unclear status pr=
oved harmful to me.<br><br>I wanted to port one of my projects to VS2017 =
=E2=80=94 that eventually [2] led me to an issue within the Qt framework. I=
t provides the "qOverload" variable template for compilers that s=
upport C++14 variable templates. The feature detection is based on SD-6 fea=
ture macro, so "qOverload" is not visible under MSVC, even though=
it supports variable templates. When I reported the issue to Qt mainteners=
, I was informed that not supporting VS there was an intentional choice to =
save on maintenance cost and that users should report it to MS to force the=
m to implement SD-6. [3]<br><br>I feel like I've been catched in a cros=
sfire between vendors who took different approaches towards SD-6 adoption. =
While it may be argued that either MS or Qt is at fault (respectively for n=
ot implementing useful SD-6 macros or for requiring non-standard feature), =
I think that problem should be finally solved by WG21, as stated in p0697r0=
..<br><br>Both Qt framework and Visual Studio are vital parts of C++ ecosyst=
em and not being able to fully used them together will likely be an increas=
ing problem point, as C++14 and C++17 gains further adoption.<br><br>I hope=
you might find my story relevant with regards to the upcoming discussion o=
n the SD-6 future.<br><br>Best regards,<br>Micha=C5=82<br><br>[1] http://ww=
w.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0697r0.pdf<br>[2] https://g=
ithub.com/woboq/verdigris/issues/6<br>[3] https://bugreports.qt.io/browse/Q=
TBUG-61667?focusedCommentId=3D362506&page=3Dcom.atlassian.jira.plugin.s=
ystem.issuetabpanels%3Acomment-tabpanel#comment-362506<br></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/75ec58fe-f4c5-4ec5-b893-c9feeb77fed2%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/75ec58fe-f4c5-4ec5-b893-c9feeb77fed2=
%40isocpp.org</a>.<br />
------=_Part_3033_364576061.1498679470642--
------=_Part_3032_1664130421.1498679470642--
.