1// { dg-do assemble  }
2
3struct S1
4{
5  template <class T>
6  void f(T t1, T t2);
7};
8
9
10template <>
11void S1::f(int i1, int i2);
12
13template <class U>
14struct S2
15{
16  template <class T>
17  void f(T t1, T t2);
18};
19
20template <>
21template <>
22void S2<char>::f(int i1, int i2);
23
24void h()
25{
26  S1 s1;
27  s1.f(3, 'c'); // { dg-error "" } no matching function
28
29  S2<char> s2;
30  s2.f(3, 'c'); // { dg-error "" } no matching function
31}
32