// { dg-do compile } // Copyright (C) 2001 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 29 Dec 2001 // PR 4361. Template conversion operators were not overloaded. template struct Second; template struct First { int Foo (); template operator Second(); template operator First(); }; template int First::Foo () {} // This is here to make sure we didn't smash Foo's decl in the // method vector struct B { }; struct D { }; void Foo () { First (First::*pf)() = &First::operator First; }