1// { dg-do assemble } 2 3union Un {int i;}; 4 5template<class T1, class T2> struct St1 {}; 6template<class T> struct St1<Un,T> {}; 7 8template<class T> struct St2 {}; 9template<> struct St2<Un> {}; 10 11template<class T1, class T2> struct St3 {}; 12template<> struct St3<Un,int> {}; 13 14void f() { 15 St1<int,int> s1; 16 St2<int> s2; 17 St3<int,int> s3; 18} 19