1 template<typename T>
2 struct X0;
3 
4 template<int I>
5 struct X1;
6 
7 template<int I>
8 struct X2;
9 
10 template<int I>
11 struct X3;
12 
13 template<template<int I> class>
14 struct X4;
15 
16 template<template<long> class>
17 struct X5;
18 
19 template<typename>
20 struct X6;
21 
22 extern X0<int> *x0i;
23 extern X0<long> *x0l;
24 extern X0<float> *x0r;
25 
26 template<>
27 struct X0<char> {
28   int member;
29 };
30 
31 template<>
32 struct X0<wchar_t> {
33   int member;
34 };
35