Open Kevin-WongCHN opened 2 weeks ago
the documentation about FieldsAre wrote:
struct MyStruct { int value = 42; std::string greeting = "aloha"; }; MyStruct s; EXPECT_THAT(s, FieldsAre(42, "aloha"));
however, when I run this:
struct MyStruct { int value = 42; std::string greeting = "aloha"; }; TEST(MyTestSuite, FieldsAreMatcherTest) { MyStruct s; EXPECT_THAT(s, FieldsAre(42, "aloha")); }
g++ cannot compile: note: types 'std::pair<_Tp1, _Tp2>' and 'const MyStruct' have incompatible cv-qualifiers
wrote the above code and run googletest
1.15.2
windows10
gcc (tdm64-1) 9.2.0
cmake version 3.22.2
No response
@Kevin-WongCHN this seams to be a challenge with the compiler version and gets resolved in gcc 11.1 and later. You may also check the reference here.
gcc 11.1
Describe the issue
the documentation about FieldsAre wrote:
however, when I run this:
g++ cannot compile: note: types 'std::pair<_Tp1, _Tp2>' and 'const MyStruct' have incompatible cv-qualifiers
Steps to reproduce the problem
wrote the above code and run googletest
What version of GoogleTest are you using?
1.15.2
What operating system and version are you using?
windows10
What compiler and version are you using?
gcc (tdm64-1) 9.2.0
What build system are you using?
cmake version 3.22.2
Additional context
No response