You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[STLExtras] Add out-of-line definition of friend operator== for C++20 (llvm#72348)
The last attempt at llvm#72220 was
reverted by
llvm@94d6699
because it breaks C++20 build in clang-17 and before.
This is a workaround of
llvm#70210 and unblocks
llvm#72213 which rectifies
rewriting template operator and thus introduces new breakages.
Moving the function definition out of the class makes clang find a
matching `operator!=` for the `operator==`. This makes clang not rewrite
the `operator==` with reversed args. Hence, the ambiguity is resolved.
The final plan, when llvm#70210
is fixed, is to move these back to inline definition or even convert to
a member template operator. This should not be urgent and could even
wait for a major clang release including
llvm#72213
0 commit comments