| // { 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; | |
| } |