1 template<typename T, typename>
2 class ClassTmpl { };
3 
4 typedef int Integer;
5 
6 template class ClassTmpl<Integer, Integer>;
7 
8 void f(ClassTmpl<float, Integer> p);
9 
10 template<typename T>
11 void g(ClassTmpl<T, T>);
12 
13 template<> void g<int>(ClassTmpl<int, int>);
14 
15 // RUN: c-index-test -test-load-source all-display %s | FileCheck %s
16 // CHECK: print-display-names.cpp:2:7: ClassTemplate=ClassTmpl<T, typename>:2:7
17 // CHECK: print-display-names.cpp:6:16: ClassDecl=ClassTmpl<Integer, Integer>:6:16 (Definition)
18 // CHECK: print-display-names.cpp:8:6: FunctionDecl=f(ClassTmpl<float, Integer>):8:6
19 // CHECK: print-display-names.cpp:11:6: FunctionTemplate=g(ClassTmpl<T, T>):11:6
20 // CHECK: print-display-names.cpp:13:17: FunctionDecl=g<>(ClassTmpl<int, int>):13:17 [Specialization of g:11:6]
21