namespace5.cpp (768B)
1 #include <doctest/doctest.h> 2 3 DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN 4 #include <cstdint> 5 #include <sstream> 6 DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END 7 8 namespace user6 { 9 struct label 10 { 11 label() 12 : i(0) {} 13 int i; 14 bool operator==(const user6::label& rhs) const { return i == rhs.i; } 15 }; 16 } // namespace user6 17 18 namespace user7 { 19 struct label 20 { 21 label() 22 : i(0) {} 23 int i; 24 friend bool operator==(const user7::label& lhs, const user7::label& rhs) { 25 return lhs.i == rhs.i; 26 } 27 }; 28 } // namespace user7 29 30 TEST_CASE("namespace 5 member vs friend") { 31 user6::label a6; 32 user6::label b6; 33 34 user7::label a7; 35 user7::label b7; 36 37 REQUIRE(a6 == b6); 38 REQUIRE(a7 == b7); 39 }