// { dg-do run } template struct A { template operator A() const { return A(); } }; int main() { A a1; A a2; A a3; A a4; a2 = a1.operator A(); a3 = (A) a1; a4 = a1; }