// { dg-do compile } // Copyright (C) 2001 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 31 Dec 2001 // PR 3716 tsubsting a pointer to member function did not create a // pointer to member function. template struct Closure { T operator() (C & c) const { return (c.*M); } }; template struct Closure { T operator()(C & c) const { return (c.*M)(); } }; struct A { int get(); }; static Closure get_closure; void Foo () { A a; get_closure (a); }