http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58569
--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> --- We badly need a reduced testcase for this. The issue doesn't seem to involve std::function in a fundamental way, seems more about using std::is_convertible<foo, foo> inside foo. Adding Daniel in CC, in case he wants to help for the reduction...