[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