Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: FieldsAre cannot support struct type #4660

Open
Kevin-WongCHN opened this issue Nov 14, 2024 · 1 comment
Open

[Bug]: FieldsAre cannot support struct type #4660

Kevin-WongCHN opened this issue Nov 14, 2024 · 1 comment

Comments

@Kevin-WongCHN
Copy link

Describe the issue

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

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

@fynnwilliam
Copy link

fynnwilliam commented Nov 19, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants