libstdc++: fix C++17 regression in concept __heterogeneous_key

The commit 3f79055504 defined a
concept using a name not defined in C++17. This is fixed by
using an older name.

https://gcc.gnu.org/pipermail/gcc-patches/2026-February/707814.html

libstdc++-v3/ChangeLog
	* include/bits/stl_function.h (__heterogeneous_key): Use
	C++17-defined remove_cvref<>::type instead.
This commit is contained in:
Nathan Myers
2026-02-06 03:09:39 -05:00
parent bd67b5a8c9
commit 786e316de5

View File

@@ -1533,7 +1533,8 @@ template <typename _Kt, typename _Container>
template <typename _Kt, typename _Container>
concept __heterogeneous_key =
(!is_same_v<typename _Container::key_type, remove_cvref_t<_Kt>>) &&
(!is_same_v<typename _Container::key_type,
typename remove_cvref<_Kt>::type>) &&
__not_container_iterator<_Kt, _Container>;
#endif