https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96088
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Marc Glisse from comment #3) > > Adding hash<string>::operator()(string_view) is an interesting idea for the > > standard though. > > Indeed. If we want to, I think it is possible to add some overloads for when > the argument is exactly const char* or string_view, which should remain > conforming and provide a significant part of the benefits. It would probably have to be: template<typename T> requires same_as<T, basic_string_view<Char,Traits>> size_t operator()(T) const; otherwise it can introduce ambiguities for things convertible to both string and string_view. But that annoyance aside, it seems worth exploring.