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 43 44 45
|
#include <doctest/doctest.h>
DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN
#include <cstdint>
#include <sstream>
DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END
namespace user6 {
struct label
{
label()
: i(0) {}
int i;
friend bool operator==(const user6::label& lhs, const user6::label& rhs) {
return lhs.i == rhs.i;
}
};
} // namespace user6
namespace user8 {
struct label
{
label()
: i(0) {}
int i;
};
} // namespace user8
DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-declarations")
DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-prototypes")
bool operator==(const user8::label& lhs, const user8::label& rhs) { return lhs.i == rhs.i; }
TEST_CASE("namespace 8 friend vs global") {
user6::label a6;
user6::label b6;
user8::label a8;
user8::label b8;
REQUIRE(a6 == b6);
REQUIRE(a8 == b8);
}
|