blenlib Any tests: Fix unknown pragma warning on Windows.

Part of a5cb7c1e62 is reverted since it 
created unknown pragma warning on windows.
Use a trick to do self-assigning.
Reviewed by Jacques Lucke in chat.
This commit is contained in:
Ankit Meel
2022-01-14 22:06:53 +05:30
parent 780633ec4b
commit d723fa3d31

View File

@@ -53,11 +53,9 @@ TEST(any, AssignMap)
EXPECT_EQ((b.get<Map<int, int>>().lookup(4)), 2);
Any<> c = std::move(a);
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wself-assign-overloaded"
/* Test valid state after self assignment. */
c = c;
#pragma clang diagnostic pop
/* Test valid state after self assignment. Clang emits `-Wself-assign-overloaded` with `c=c;`.
* And pragma suppression creates warnings on other compilers. */
c = static_cast<decltype(a) &>(c);
EXPECT_TRUE(c);
EXPECT_EQ((c.get<Map<int, int>>().lookup(4)), 2);