// { dg-do assemble } | |
template <class T1,class T2> | |
struct X | |
{ | |
T1 a; | |
struct Y | |
{ | |
T2 x; | |
Y (T2 _x) { x=_x; } | |
}; | |
}; | |
template <class T1> | |
struct X<T1,int> | |
{ | |
T1 a; | |
struct Y | |
{ | |
int x; | |
Y (int _x) { x=_x; } | |
}; | |
}; | |
template <> | |
struct X<int,int> | |
{ | |
int a; | |
struct Y | |
{ | |
int x; | |
Y (int _x) { x=_x; } | |
}; | |
}; | |
void f () | |
{ | |
X<char,char> t1; | |
X<char,int> t2; | |
X<int,int> t3; | |
} |