http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48521
Summary: [4.5/4.6/4.7 Regression] [C++0x] std::result_of doesn't work with pointer to member Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org This is supposed to work, and did with 4.4: #include <functional> struct X { int foo(); }; typedef int (X::*pm)(); std::result_of<pm()>::type i = 0; This means we don't accept std::async(X::foo, ...) which is defined in terms of result_of I think I intentionally removed support for pointers to members from result_of, because an earlier C++0x draft said it shouldn't work