[clang] [Clang] Handle ?: operator in fold expression (PR #164019)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 13 06:50:26 PDT 2026


================
@@ -12,3 +12,8 @@ template <typename... U> struct A {
     foo<T>((... + static_cast<U>(1))); // expected-error {{expression contains unexpanded parameter pack 'T'}}
   }
 };
+
+template <typename ... T>
+void foo(T... Params) {
+  (Params ?: 1, ...); // expected-error {{expression not permitted as operand of fold expression}}
----------------
erichkeane wrote:

Yeah, a note saying what is not permitted is a really good idea.  We can start with just this

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


More information about the cfe-commits mailing list