http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49058
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-05-22 21:29:56 UTC --- For a complete example: struct F { int operator()() const { return 0; } void operator()() const { }; }; int main() { auto const b = std::bind( F() ); int i = b(); // b is const here, must return int } [func.bind.bind] p3 requires that the cv-qualifiers of the call wrapper are used when calling the target object