// PR c++/57043 // { dg-do link } template struct complex { }; template complex pow(const complex& x, const complex& y) { return complex(); } template struct promote_2 { typedef T type; }; template complex::type> pow(const complex& x, const complex& y); complex (*powcc)(const complex&, const complex&) = pow; int main() {}