http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50160
--- Comment #20 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-08-31 00:26:49 UTC --- Largely irrelevant here, but partial specialization of function templates simply does not exist. We have been talking about adding an overload like: template<typename _Alloc> bool operator<(const vector<bool, _Alloc>&, const vector<bool, _Alloc>&) or overloading std::lexicographical_compare, seems also an option.