[clang] [clang] Reject array comparisons in C++26 for unknown/dependent types in templates (PR #191101)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 29 12:02:15 PDT 2026
================
@@ -0,0 +1,33 @@
+// RUN: %clang_cc1 -std=c++26 -pedantic-errors -fsyntax-only -verify %s
+
+template<class T, class U>
+concept can_compare_eq = requires (const T& t, const U& u) { t == u; };
+
+template<class T, class U>
+concept can_compare_ne = requires (const T& t, const U& u) { t != u; };
+
+template<class T, class U>
+concept can_compare_lt = requires (const T& t, const U& u) { t < u; };
+
+template<class T, class U>
+concept can_compare_gt = requires (const T& t, const U& u) { t > u; };
+
+template<class T, class U>
+concept can_compare_le = requires (const T& t, const U& u) { t <= u; };
+
+template<class T, class U>
+concept can_compare_ge = requires (const T& t, const U& u) { t >= u; };
+
----------------
Sirraide wrote:
Can you also test `<=>`
https://github.com/llvm/llvm-project/pull/191101
More information about the cfe-commits
mailing list