http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58569
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- We can fix it in the library by adding this to std::function template<typename _CallRes> struct _CheckResult<_CallRes, _CallRes> : true_type { };