[Development] Do we need VS2019 for Qt 6.6?

Edward Welbourne edward.welbourne at qt.io
Fri Jan 27 11:33:50 CET 2023


On 17/01/2023 23:07, Thiago Macieira wrote:
>> The reason is that it is failing to parse a constant expression.

Oliver Wolff (27 January 2023 08:23) replied:
> Generally I think that raising the minimal version could be done, but
> is that reason alone good enough to warrant a minimal version raise
> for every MSVC Qt user? How severe is that issue and how hard is it to
> work around it?
>
> It looks like a minor thing if you put it like that.

So the issue is that we have run into several cases where we need
something to be constexpr, for example in order to be able to use it in
a template, and By The Rules it *is* but MSVC 2019 doesn't grok that
it's really constexpr, so we're blocked from doing what we should be
able to do.

Two examples:

https://codereview.qt-project.org/c/qt/qtbase/+/453446/12
I'm obliged to kludge round this (see latest PS, 17) in order to split a
template's implementation between the case of a numerator that's a power
of two or not. PS 12 is code that Should Just Work (TM).

https://codereview.qt-project.org/c/qt/qtbase/+/441286
Thiago wrote a nice little character-set matcher to help me make
QLocale's number-parsing more efficient, which depends on
makeCharacterSetMatch() being constexpr, but MSVC 2019 lets us down.
That's blocking my fix for QTBUG-107801, issues with some tokens we've
always assumed were single-character actually being multi-glyph in some
(not even vaguely obscure) locales.  Marc has a suggestion for how to
maybe kludge round it, but if we could drop MSVC 2019 we could save some
kludge-research time and just get on with Doing It Naturally.

I doubt these are the only examples out there, and I'm quite sure that
we'll trip over more as time goes by.  I dare say Thiago, Marc or Ville
can give more thorough answers - but, in short, MSVC 2019 is getting in
the way of Doing Things Right and making the most of modern C++,

	Eddy.


More information about the Development mailing list