1// { dg-do assemble } 2 3template <class T1,class T2> 4struct X 5{ 6 T1 a; 7 8 struct Y 9 { 10 T2 x; 11 Y (T2 _x) { x=_x; } 12 }; 13 14}; 15 16template <class T1> 17struct X<T1,int> 18{ 19 T1 a; 20 21 struct Y 22 { 23 int x; 24 Y (int _x) { x=_x; } 25 }; 26 27}; 28 29template <> 30struct X<int,int> 31{ 32 int a; 33 34 struct Y 35 { 36 int x; 37 Y (int _x) { x=_x; } 38 }; 39 40}; 41 42void f () 43{ 44 X<char,char> t1; 45 X<char,int> t2; 46 X<int,int> t3; 47} 48