[clang] [Clang][Sema] Handle invalid variable template specialization whose type depends on itself (PR #134522)

Yanzuo Liu via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 8 06:36:45 PDT 2025


================
@@ -47,3 +47,21 @@ namespace InvalidInsertPos {
   template<> int v<int, 0>;
   int k = v<int, 500>;
 }
+
+namespace GH51347 {
+  template <typename T>
+  auto p = p<T>; // expected-error {{the type of variable template specialization 'p<int>'}}
----------------
zwuis wrote:

I think this pattern is always illegal. But it's a big work (compared with this PR) to recognize this pattern (as something like current instantiation).

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


More information about the cfe-commits mailing list