cppast icon indicating copy to clipboard operation
cppast copied to clipboard

`extern` template are treated as class template specializations

Open foonathan opened this issue 8 years ago • 0 comments

  • cppast version: latest one
  • parser: libclang_parser
  • clang version: 3.9.1+

An extern template will be treated as a (full) class template specialization.

Input:

template <typename T>
struct foo {};

template <>
extern struct foo<int>;

Output:

AST for 'file.cpp':
|-foo (class template) [definition]: `template<typename T> struct foo;`
+-foo (class template specialization): `template<> struct foo<int>;`

foonathan avatar Apr 18 '17 14:04 foonathan