1// { dg-do assemble } 2 3template <int I, int J, int K> 4struct S {}; 5 6template <int I, int J> 7struct S<I, J, 2> : public S<I, I, I>, S<J, J, J> {}; 8 9template <int I, int J, int K> 10void f(S<I, J, K>, S<I, I, I>); 11 12void g() { 13 S<0, 0, 0> s0; 14 S<0, 1, 2> s2; 15 16 f<0>(s0, s2); 17 f(s0, s2); // { dg-error "" } no matching function 18} 19