http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53339
--- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-05-14 10:52:28 UTC --- Can we avoid deriving from unary_function and binary_function, no big deal as an implementation detail, but are deprecated in C++11, I would rather *remove* uses. Also, did you run the testsuite? Because normally we want the operators to be templates because of some move semantics details.