[libcxx-commits] [libcxx] [libc++] Implement LWG4072: std::optional comparisons: constrain harder (PR #209968)

A. Jiang via libcxx-commits libcxx-commits at lists.llvm.org
Sun Sep 6 18:04:57 PDT 2026


================
@@ -35,6 +35,10 @@ static_assert(HasOperatorEqual<std::optional<EqualityComparable>, EqualityCompar
 static_assert(!HasOperatorEqual<std::optional<NonComparable>, NonComparable>);
 static_assert(!HasOperatorEqual<std::optional<EqualityComparable>, NonComparable>);
 
+// LWG4072: avoid ambiguity with optional's own comparison operators
+static_assert(!HasOperatorEqual<std::optional<void*>, std::optional<int>>);
+static_assert(!HasOperatorEqual<std::optional<int>, std::optional<void*>>);
----------------
frederick-vs-ja wrote:

Why were these rolled back?

https://github.com/llvm/llvm-project/pull/209968


More information about the libcxx-commits mailing list