nridge added a comment.

In D139926#4084846 <https://reviews.llvm.org/D139926#4084846>, @nridge wrote:

>   template <class T>
>   class A {
>      template <class U> void foo(U a) { }
>      template<> void foo(int a) { }  // <--
>   };
>
> This one is `ClassScopeFunctionSpecializationDecl::getTemplateArgsAsWritten()`

I got this testcase slightly wrong, the `template<>` is handled via 
`VisitDeclaratorDecl`, but it can have arguments as well:

  template <class T>
  class A {
     template <class U> void foo(U a) { }
     template<> void foo<int>(int a) { }  // note the <int>
  };

which is what requires handling 
`ClassScopeFunctionSpecializationDecl::getTemplateArgsAsWritten()`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139926/new/

https://reviews.llvm.org/D139926

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to