1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
/**
* This program reproduces an compiler issue with Visual Studio 2022
*/
#include "test_config.h"
#include <array>
#include <string>
namespace Test
{
using arrayofstring = std::array<std::string, 5>;
class unionarrayofstring
{
public:
unionarrayofstring () = default;
unionarrayofstring (const unionarrayofstring&) = delete;
unionarrayofstring (unionarrayofstring&&) = delete;
inline ~unionarrayofstring () {}
unionarrayofstring& operator= (const unionarrayofstring&) = delete;
unionarrayofstring& operator= (unionarrayofstring&&) = delete;
private:
union u_type_
{
u_type_ () = default;
~u_type_ () {}
::Test::arrayofstring as_{};
} u_{};
};
}
int run_main (int, ACE_TCHAR*[])
{
ACE_START_TEST (ACE_TEXT ("Compiler_Features_42_Test"));
::Test::unionarrayofstring p;
ACE_END_TEST;
return 0;
}
|