C.168: switch example to op+ to avoid side tracking about defaults (closes #1955)

This commit is contained in:
Sergey Zubkov
2022-08-08 15:19:42 -04:00
parent 0a7d70851c
commit 9a95f97f44

View File

@@ -8513,23 +8513,21 @@ Avoiding inconsistent definition in different namespaces
##### Example
struct S { };
bool operator==(S, S); // OK: in the same namespace as S, and even next to S
S operator+(S, S); // OK: in the same namespace as S, and even next to S
S s;
bool x = (s == s);
This is what a default `==` would do, if we had such defaults.
S r = s + s;
##### Example
namespace N {
struct S { };
bool operator==(S, S); // OK: in the same namespace as S, and even next to S
S operator+(S, S); // OK: in the same namespace as S, and even next to S
}
N::S s;
bool x = (s == s); // finds N::operator==() by ADL
S r = s + s; // finds N::operator+() by ADL
##### Example, bad