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