Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Visual Studio 2022 still not fit for purpose

187 views
Skip to first unread message

Mr Flibble

unread,
Mar 11, 2023, 5:01:54 PM3/11/23
to
Microsoft Visual Studio 2022 is still not fit for purpose. This is my
second attempt at using it and I get a different problem this time for
which I have raised a defect report:

https://developercommunity.visualstudio.com/t/Problem-with-constexpr-and-accessing-non/10307212


JiiPee

unread,
Mar 12, 2023, 3:17:05 AM3/12/23
to
I use VS in my full time work and also in personal use. For my use it is
working "well enough". No major issues for me. Also its free in personal
use, so a very good value. I think I had more problems with CodeBlocks,
so when VS was free again years ago I immediately changed back to VS.

MarioCPPP

unread,
Mar 12, 2023, 6:51:28 AM3/12/23
to
do you happen to know if there is a "linux version" (like
visual studio CODE, community edition), running with its own
libraries or at worst on "mono" framework ?

I still long for Visual Studio (and I don't like Eclipse or
Code/Codium), I used to like it a lot years ago



--
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
MarioCPPP

Sam

unread,
Mar 12, 2023, 7:36:09 AM3/12/23
to
MarioCPPP writes:

> On 12/03/23 08:16, JiiPee wrote:
>>
>> I use VS in my full time work and also in personal use. For my use it is
>> working "well enough". No major issues for me. Also its free in personal
>> use, so a very good value. I think I had more problems with CodeBlocks, so
>> when VS was free again years ago I immediately changed back to VS.
>
> do you happen to know if there is a "linux version" (like visual studio
> CODE, community edition), running with its own libraries or at worst on
> "mono" framework ?
>
> I still long for Visual Studio (and I don't like Eclipse or Code/Codium), I
> used to like it a lot years ago

At work it's easy to tell the wandering souls that use VS, or something
else. The VS ones always DM me screenshots of their code, instead of text.

Mr Flibble

unread,
Mar 12, 2023, 8:12:49 AM3/12/23
to
What the fuck is "well enough" supposed to mean? A C++20 compiler that
can't even compile well formed C++17 code is *not* fit for purpose.

/Flibble

Mr Flibble

unread,
Mar 12, 2023, 8:13:25 AM3/12/23
to
What point are you trying to make, mate?

/Flibble

JiiPee

unread,
Mar 12, 2023, 1:25:37 PM3/12/23
to
On 12/03/2023 12:51, MarioCPPP wrote:
"do you happen to know if there is a "linux version" ("

No I dont.

Bonita Montero

unread,
Mar 12, 2023, 1:49:04 PM3/12/23
to
I think MSVC is right here and an if constexpr isn't sth like a requires
clause which can contain invalid code and thereby evaluates to false.


Mr Flibble

unread,
Mar 12, 2023, 2:06:44 PM3/12/23
to
No, it is wrong and so are you.

/Flibble

Andrey Tarasevich

unread,
Mar 12, 2023, 2:30:31 PM3/12/23
to
On 03/12/23 5:12 AM, Mr Flibble wrote:
>
> What the fuck is "well enough" supposed to mean?  A C++20 compiler that
> can't even compile well formed C++17 code is *not* fit for purpose.

No compiler currently on the marked is "fit for purpose" from that
standpoint.

--
Best regards,
Andrey

Bonita Montero

unread,
Mar 12, 2023, 3:04:42 PM3/12/23
to
"if constexpr" isn't a "if constexpr( requires() { { type() }; } )".


Mr Flibble

unread,
Mar 12, 2023, 4:06:42 PM3/12/23
to
"requires" is C++20, "if constexpr" is C++17 in which statements can be
discarded in templates.

/Flibble

Chris M. Thomasson

unread,
Mar 12, 2023, 4:12:23 PM3/12/23
to
That's pretty harsh... ;^o

Chris M. Thomasson

unread,
Mar 12, 2023, 4:16:36 PM3/12/23
to
On 3/12/2023 3:51 AM, MarioCPPP wrote:
> On 12/03/23 08:16, JiiPee wrote:
>> On 12/03/2023 00:01, Mr Flibble wrote:
>>> Microsoft Visual Studio 2022 is still not fit for purpose. This is my
>>> second attempt at using it and I get a different problem this time
>>> for which I have raised a defect report:
>>>
>>> https://developercommunity.visualstudio.com/t/Problem-with-constexpr-and-accessing-non/10307212
>>>
>>>
>>
>> I use VS in my full time work and also in personal use. For my use it
>> is working "well enough". No major issues for me. Also its free in
>> personal use, so a very good value. I think I had more problems with
>> CodeBlocks, so when VS was free again years ago I immediately changed
>> back to VS.
>
> do you happen to know if there is a "linux version" (like visual studio
> CODE, community edition), running with its own libraries or at worst on
> "mono" framework ?

I don't think there is a native version of MSVC for Linux. They have one
for the Mac:

https://visualstudio.microsoft.com/vs/mac/

Fwiw:
https://learn.microsoft.com/en-us/cpp/linux/download-install-and-setup-the-linux-development-workload?view=msvc-170

Bo Persson

unread,
Mar 12, 2023, 4:39:55 PM3/12/23
to
On 2023-03-12 at 21:16, Chris M. Thomasson wrote:
> On 3/12/2023 3:51 AM, MarioCPPP wrote:
>> On 12/03/23 08:16, JiiPee wrote:
>>> On 12/03/2023 00:01, Mr Flibble wrote:
>>>> Microsoft Visual Studio 2022 is still not fit for purpose. This is
>>>> my second attempt at using it and I get a different problem this
>>>> time for which I have raised a defect report:
>>>>
>>>> https://developercommunity.visualstudio.com/t/Problem-with-constexpr-and-accessing-non/10307212
>>>>
>>>>
>>>
>>> I use VS in my full time work and also in personal use. For my use it
>>> is working "well enough". No major issues for me. Also its free in
>>> personal use, so a very good value. I think I had more problems with
>>> CodeBlocks, so when VS was free again years ago I immediately changed
>>> back to VS.
>>
>> do you happen to know if there is a "linux version" (like visual
>> studio CODE, community edition), running with its own libraries or at
>> worst on "mono" framework ?
>
> I don't think there is a native version of MSVC for Linux. They have one
> for the Mac:
>
> https://visualstudio.microsoft.com/vs/mac/
>

Unfortunately that is C# for the Mac, but not C++.



Sam

unread,
Mar 12, 2023, 5:24:46 PM3/12/23
to
You also don't have a second thought of taking a screenshot of a window with
code, cropping it in an image editor, and then sending the cropped picture
to someone else, with a programming-related question about the snapped code
snippet?

Chris M. Thomasson

unread,
Mar 12, 2023, 5:28:37 PM3/12/23
to
Ahhh, shit! I thought they had a full blown MSVC for the Mac. Grrrr!

MarioCPPP

unread,
Mar 12, 2023, 5:30:54 PM3/12/23
to
I'll have a look, Tnx
Ciao


>
>
>
>>
>> I still long for Visual Studio (and I don't like Eclipse
>> or Code/Codium), I used to like it a lot years ago
>
>
>
>

Bonita Montero

unread,
Mar 12, 2023, 5:31:19 PM3/12/23
to
Am 12.03.2023 um 21:06 schrieb Mr Flibble:

> "requires" is C++20, "if constexpr" is C++17 in which statements can be
> discarded in templates.

if constexpr() alone requries a compileable statement and you supply
a statement that is not compileable. requires() { {}; }... compiles
to false if the statement isn't compileable.


James Kuyper

unread,
Mar 12, 2023, 5:32:08 PM3/12/23
to
"not fit for purpose" depends upon your purpose. His purpose is to get
his code to compile. There might be well-formed C++17 code that it can't
compile, but it does compile his code. That's what "well enough" means
in this context.


Mr Flibble

unread,
Mar 12, 2023, 6:19:41 PM3/12/23
to
You have been focusing on C++20 and concepts so much that you have
forgotten C++17. In C++17 (and C++20) for templates "if constexpr"
statements dependent on the template parameter can be discarded and
discarded statements don't have to be compilable for a particular
template argument; discarded statements are only fully checked outside
of templates.

/Flibble

Mr Flibble

unread,
Mar 12, 2023, 6:21:37 PM3/12/23
to
The purpose of a C++ compiler is to compile C++. VS2022 is currently
failing to compile C++ ergo it is not fit for purpose.

/Flibble

James Kuyper

unread,
Mar 12, 2023, 6:33:06 PM3/12/23
to
On 3/12/23 18:21, Mr Flibble wrote:
> On 12/03/2023 21:31, James Kuyper wrote:
...
>> "not fit for purpose" depends upon your purpose. His purpose is to get
>> his code to compile. There might be well-formed C++17 code that it can't
>> compile, but it does compile his code. That's what "well enough" means
>> in this context.
>
> The purpose of a C++ compiler is to compile C++. VS2022 is currently
> failing to compile C++ ergo it is not fit for purpose.

There is no unique purpose for a C++ compiler - each person using a
compiler can, potentially, have a different purpose for using it.. I
would say that most people only want it to compile the code that they
actually need to compile, and are not particularly annoyed if it fails
to compile code that they would never write. Can you suggest any reason
why they should be?

Chris M. Thomasson

unread,
Mar 12, 2023, 7:53:11 PM3/12/23
to
On 3/12/2023 1:16 PM, Chris M. Thomasson wrote:
> On 3/12/2023 3:51 AM, MarioCPPP wrote:
>> On 12/03/23 08:16, JiiPee wrote:
>>> On 12/03/2023 00:01, Mr Flibble wrote:
>>>> Microsoft Visual Studio 2022 is still not fit for purpose. This is
>>>> my second attempt at using it and I get a different problem this
>>>> time for which I have raised a defect report:
>>>>
>>>> https://developercommunity.visualstudio.com/t/Problem-with-constexpr-and-accessing-non/10307212
>>>>
>>>>
>>>
>>> I use VS in my full time work and also in personal use. For my use it
>>> is working "well enough". No major issues for me. Also its free in
>>> personal use, so a very good value. I think I had more problems with
>>> CodeBlocks, so when VS was free again years ago I immediately changed
>>> back to VS.
>>
>> do you happen to know if there is a "linux version" (like visual
>> studio CODE, community edition), running with its own libraries or at
>> worst on "mono" framework ?
>
> I don't think there is a native version of MSVC for Linux. They have one
> for the Mac:
>
> https://visualstudio.microsoft.com/vs/mac/
[...]

I failed to notice that it is only for .NET

God damn it! Sorry. ;^o

Bonita Montero

unread,
Mar 13, 2023, 12:03:02 AM3/13/23
to
Am 12.03.2023 um 23:19 schrieb Mr Flibble:

> You have been focusing on C++20 and concepts so much that you have
> forgotten C++17.  In C++17 (and C++20) for templates "if constexpr"
> statements dependent on the template parameter can be discarded and
> discarded statements don't have to be compilable for a particular
> template argument; discarded statements are only fully checked outside
> of templates.

Of course the code depends on the template parameter. But if this
hasn't a dependent element_type the code is wrong. Use a concepted
if constexpr which embeds the further if and everything is fine.


Bonita Montero

unread,
Mar 13, 2023, 12:41:36 AM3/13/23
to
Am 11.03.2023 um 23:01 schrieb Mr Flibble:
Use sth. like that:

#include <type_traits>

using namespace std;

#define WITH_EMBEDDED_TYPE

template<typename Type>
void fn( Type t )
{
if constexpr( requires() { { Type::element_type() }; } )
if constexpr( is_scalar_v<typename Type::element_type> )
;
}

int main()
{
struct S
{
#if defined(WITH_EMBEDDED_TYPE)
using element_type = int;
#endif
};
fn( S() );
}

Works with WITH_EMBEDDED_TYPE as well without it.

Bonita Montero

unread,
Mar 13, 2023, 4:41:39 AM3/13/23
to
Am 13.03.2023 um 05:42 schrieb Bonita Montero:

> Am 11.03.2023 um 23:01 schrieb Mr Flibble:

>> Microsoft Visual Studio 2022 is still not fit for purpose. This is my
>> second attempt at using it and I get a different problem this time for
>> which I have raised a defect report:
>>
>> https://developercommunity.visualstudio.com/t/Problem-with-constexpr-and-accessing-non/10307212
>>
>>
>
> Use sth. like that: ...

#include <iostream>
#include <type_traits>

using namespace std;

#define WITH_EMBEDDED_TYPE

template<typename Type>
void fn( Type t )
{
if constexpr( requires( typename Type::element_type ) { { 1 }; } )
if constexpr( is_scalar_v<typename Type::element_type> )
;
}

int main()
{
struct S
{
#if defined(WITH_EMBEDDED_TYPE)
using element_type = int;
#endif
};
fn( S() );
}

This is better because it doesn't require the embedded
type to be default-constructible, But it does work with
g++ and MSVC, but not with clang++.

Bonita Montero

unread,
Mar 13, 2023, 4:53:17 AM3/13/23
to
Am 13.03.2023 um 09:42 schrieb Bonita Montero:

> Am 13.03.2023 um 05:42 schrieb Bonita Montero:

>> Use sth. like that: ...

> template<typename Type>
> void fn( Type t )
> {
>     if constexpr( requires( typename Type::element_type ) { { 1 }; } )
>         if constexpr( is_scalar_v<typename Type::element_type> )
>             ;
> }

template<typename Type>
void fn( Type t )
{
if constexpr( requires() { { (typename Type::element_type *)nullptr }; } )
if constexpr( is_scalar_v<typename Type::element_type> )
;
}

This should be best since it doesn't require a default-con-
structible element_type; it works with MSVC, g++ and clang++.

MarioCPPP

unread,
Mar 13, 2023, 7:45:22 AM3/13/23
to
I also tend to wonder HOW OFTEN such a situation happens. It
might not support well just particolar semantics (with easy
workaround).
I mean, every current browser as yet fails to comply with
all HTML5 features, but nobody would say it is not a browser :D

>
> /Flibble

Mr Flibble

unread,
Mar 13, 2023, 3:11:20 PM3/13/23
to
The code is not wrong; yes there are various workarounds including using
C++20 features but that doesn't alter the fact that the code in my
defect report is well formed and VS2022 is wrong to reject it.
Incidentally my defect has been closed by Microsoft as a "duplicate" as
this defect (regression) was first reported in December last year and
Microsoft are still "investigating" it.

/Flibble

Mr Flibble

unread,
Mar 13, 2023, 3:11:51 PM3/13/23
to
Yes there are various workarounds including using C++20 features but

Bonita Montero

unread,
Mar 13, 2023, 4:25:46 PM3/13/23
to
Am 13.03.2023 um 20:11 schrieb Mr Flibble:

> The code is not wrong; ...

It is because your type is not conditionally used as with my example.
Your both compilers are just more tolerant than MSVC.


Bonita Montero

unread,
Mar 13, 2023, 4:26:33 PM3/13/23
to
Am 13.03.2023 um 20:11 schrieb Mr Flibble:

> Yes there are various workarounds including using C++20 features but
> that doesn't alter the fact that the code in my defect report is well
> formed and VS2022 is wrong to reject it. ...

MSVC is corrent because your denendent type doesn't exist.


Mr Flibble

unread,
Mar 14, 2023, 4:02:06 AM3/14/23
to
Nope. g++ and clang correctly discard the statement (as it is a
template) so the code compiles. By not discarding the statement MSVC is
not compliant with standard C++ so the defect report is valid.

/Flibble

Mr Flibble

unread,
Mar 14, 2023, 4:02:16 AM3/14/23
to
On 13/03/2023 20:27, Bonita Montero wrote:

Bonita Montero

unread,
Mar 14, 2023, 10:33:52 AM3/14/23
to
Am 14.03.2023 um 09:01 schrieb Mr Flibble:

>  Nope. g++ and clang correctly discard the statement (as it is a
> template) ...

The error is thrown when the template is instntiated.


Bonita Montero

unread,
Mar 14, 2023, 10:34:31 AM3/14/23
to
Am 14.03.2023 um 09:02 schrieb Mr Flibble:

> Nope. g++ and clang correctly discard the statement
> (as it is a template) so the code compiles. ...

Mr Flibble

unread,
Mar 14, 2023, 2:40:49 PM3/14/23
to
g++ and clang beg to differ:

https://godbolt.org/z/fx6janvMT

(templates fully instantiated with no compiler error)

And today Microsoft have resolved the defect pending release:

https://developercommunity.visualstudio.com/t/if-constexpr-compiler-bug-regression-/10235474

Feel free to apologize. Have you ever apologized for any of your, no
doubt, many mistakes?

/Flibble




Mr Flibble

unread,
Mar 14, 2023, 2:41:12 PM3/14/23
to
On 14/03/2023 14:35, Bonita Montero wrote:

Chris M. Thomasson

unread,
Mar 14, 2023, 4:47:40 PM3/14/23
to
;^)

Chris M. Thomasson

unread,
Mar 14, 2023, 5:04:03 PM3/14/23
to
On 3/14/2023 11:40 AM, Mr Flibble wrote:
17.5.2, issued 2 hours ago. ;^)

Mr Flibble

unread,
Mar 14, 2023, 6:04:21 PM3/14/23
to
17.5.2 doesn't have a fix, maybe 17.5.3 will.

/Flibble

Chris M. Thomasson

unread,
Mar 14, 2023, 9:15:50 PM3/14/23
to
Shit. Well, I failed to read all of the corrections. Sorry about that.
And thank you.

Bonita Montero

unread,
Mar 14, 2023, 11:44:22 PM3/14/23
to
Am 14.03.2023 um 19:40 schrieb Mr Flibble:

> On 14/03/2023 14:35, Bonita Montero wrote:

>> The error is thrown when the template is instntiated.

> g++ and clang beg to differ:
> ...
I remove the istantiations and MSVC compiled the code.
So I'm right.

Bonita Montero

unread,
Mar 14, 2023, 11:51:38 PM3/14/23
to
Am 14.03.2023 um 19:40 schrieb Mr Flibble:

> On 14/03/2023 14:35, Bonita Montero wrote:

>> The error is thrown when the template is instntiated.

> g++ and clang beg to differ:

Öö Tiib

unread,
Mar 15, 2023, 3:56:54 AM3/15/23
to
Nope, you are fool. Microsoft has way better programmers than you. They
agreed that it is regression defect as standard explicitly forbids to
instantiate that code.

Bonita Montero

unread,
Mar 15, 2023, 4:12:47 AM3/15/23
to
They didn't agree that this is a bug but just that they have a look
at the issue. MSVC might not have the best opimizer, but for sure
the best C++20-frontend.

Bonita Montero

unread,
Mar 15, 2023, 4:20:40 AM3/15/23
to
I just looked at the code that Microsoft linked in your article.
It's just fundamentally different, because while you have a const-
expr -if cascaded with &&, the code shown has a constexpr-if within
a constexpr-if, and the latter really shouldn't be compiled. So this
is really a misbehavior of MSVC, what you are doing is your fault.
I'm sure that they didn't take a close look at your objections and
blindly linked it to the second article.

Öö Tiib

unread,
Mar 15, 2023, 11:31:44 AM3/15/23
to
You can't understand what duplicate means and you can't read
code. Mr Flibble's code has constexpr if within constexpr else
whose contents should not be evaluated by standard. That it is
constexpr if does not matter. It is defect.

Bonita Montero

unread,
Mar 15, 2023, 11:33:36 AM3/15/23
to
Am 15.03.2023 um 16:31 schrieb Öö Tiib:

> You can't understand what duplicate means ...

This isn't duplicate. The two cascading if constexpr in the
second example are &&-concatenated in the first example. If
Mr Fibble cascades it in the same way the code works.


Bonita Montero

unread,
Mar 15, 2023, 11:36:17 AM3/15/23
to
To be up to the second example Mr Fibbles code should look like this:

#include <type_traits>
#include <memory>
#include <iostream>

namespace detail
{
template<typename T> struct is_smart_ptr : std::false_type {};
template<typename T> struct is_smart_ptr<std::shared_ptr<T>> :
std::true_type {};
template<typename T> struct is_smart_ptr<std::unique_ptr<T>> :
std::true_type {};
template<typename T>
inline constexpr bool is_smart_ptr_v = is_smart_ptr<T>::value;
}

template <typename T>
struct jar
{
typedef T value_type;

template <typename... Args>
void add(Args&&... aArgs)
{
if constexpr (!detail::is_smart_ptr_v<value_type>)
std::cout << "a";
else if constexpr (detail::is_smart_ptr_v<value_type> )
if constexpr (::is_abstract_v<typename
value_type::element_type>)
std::cout << "b";
}
};

struct foo
{
};

int main()
{
jar<foo> j;
j.add(42);
return 0;
}


Mr Flibble

unread,
Mar 15, 2023, 2:54:14 PM3/15/23
to
I decided to humour you for a few microseconds and compiled your code
(after fixing you omission of 'std' in the last `if constexpr`) and of
course I got the following result:

1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(25,67):
error C2039: 'element_type': is not a member of 'foo'
1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(30,8):
message : see declaration of 'foo'
1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(37,13):
message : see reference to function template instantiation 'void
jar<foo>::add<int>(int &&)' being compiled
1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(37,10):
message : see reference to function template instantiation 'void
jar<foo>::add<int>(int &&)' being compiled
1>Done building project "ConsoleApplication1.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

thereby confirming that you don't have one iota of a clue as to what you
are talking about. I guess we will just have to wait for Microsoft to
fix the bug so I can compile my original code successfully before you
will apologize for being wrong or look even more fucktarded than you
already do.

/Flibble

Mr Flibble

unread,
Mar 15, 2023, 2:54:52 PM3/15/23
to
No, you are wrong:

1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(25,67):
error C2039: 'element_type': is not a member of 'foo'
1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(30,8):
message : see declaration of 'foo'
1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(37,13):
message : see reference to function template instantiation 'void
jar<foo>::add<int>(int &&)' being compiled
1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(37,10):
message : see reference to function template instantiation 'void
jar<foo>::add<int>(int &&)' being compiled
1>Done building project "ConsoleApplication1.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

/Flibble

Bonita Montero

unread,
Mar 15, 2023, 10:57:26 PM3/15/23
to
Am 15.03.2023 um 19:53 schrieb Mr Flibble:

> I decided to humour you for a few microseconds and compiled your code
> (after fixing you omission of 'std' in the last `if constexpr`) and of
> course I got the following result:
>

I compiled it and it worked.

Bonita Montero

unread,
Mar 15, 2023, 10:58:03 PM3/15/23
to
Am 15.03.2023 um 19:54 schrieb Mr Flibble:
> On 15/03/2023 03:52, Bonita Montero wrote:
>> Am 14.03.2023 um 19:40 schrieb Mr Flibble:
>>
>>> On 14/03/2023 14:35, Bonita Montero wrote:
>>
>>>> The error is thrown when the template is instntiated.
>>
>>> g++ and clang beg to differ:
>>
>> I remove the istantiations and MSVC compiled the code.
>> So I'm right.
>
> No, you are wrong:

The last example I've given compiles with MSVC.


Daniel

unread,
Mar 16, 2023, 1:18:23 PM3/16/23
to
On Wednesday, March 15, 2023 at 2:54:52 PM UTC-4, Mr Flibble wrote:
> On 15/03/2023 03:52, Bonita Montero wrote:
> >
> > I remove the istantiations and MSVC compiled the code.
> > So I'm right.
> No, you are wrong:
> 1>C:\Users\leigh\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp(25,67):
> error C2039: 'element_type': is not a member of 'foo'

It compiles and runs for me with MSVC C++ 17 if I change struct foo{} to

struct foo
{
using element_type = std::string; // requires element_type
};

and ::is_abstract_v to std::is_abstract_v. I think Bonita is basically right.

Best regards,
Daniel

Mr Flibble

unread,
Mar 16, 2023, 1:46:47 PM3/16/23
to
I suggest you try again but this time use the version of MSVC that
actually contains the regression, silly.

/Flibble

Mr Flibble

unread,
Mar 16, 2023, 1:47:04 PM3/16/23
to

Mr Flibble

unread,
Mar 16, 2023, 1:47:51 PM3/16/23
to
I think you are basically as clueless as Bonita.

/Flibble

Daniel

unread,
Mar 16, 2023, 3:24:10 PM3/16/23
to
Possibly :-) I have 17.5.2 installed rather than 17.5.1, but my understanding was there was no fix related to this issue in 17.5.2.

Best regards,
Daniel
0 new messages