// RUN: %clang_cc1 -std=c++17 -triple x86_64-unknown-unknown -ast-dump=json %s | FileCheck -strict-whitespace %s template void a(Ty); template void b(Ty...); template void c(Ty); template <> void c(float); template typename Uy> void d(Ty, Uy); template void e(Ty); template void f(int i = N); template void g(Ty); template void h(); template struct R {}; template <> struct R {}; template struct S {}; template struct S {}; template struct T {}; template struct U {}; template struct V { template void f(); }; template template void V::f() {} template