1// { dg-do assemble  }
2
3template <class T>
4struct S1 {};
5
6struct S2
7{
8  template <class T>
9  operator S1<T>*();
10};
11
12struct D: public S1<int> {
13};
14
15void f()
16{
17  S2 s;
18  (D*) s; // { dg-error "" } cannot convert
19}
20