From 786e316de5c25a3fddeaa2003f6efb64fb5ab4a9 Mon Sep 17 00:00:00 2001 From: Nathan Myers Date: Fri, 6 Feb 2026 03:09:39 -0500 Subject: [PATCH] libstdc++: fix C++17 regression in concept __heterogeneous_key The commit 3f7905550483408a2c4c5096a1adc8d7e863eb12 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. --- libstdc++-v3/include/bits/stl_function.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h index edbbfe11b96..657f40bca2e 100644 --- a/libstdc++-v3/include/bits/stl_function.h +++ b/libstdc++-v3/include/bits/stl_function.h @@ -1533,7 +1533,8 @@ template template concept __heterogeneous_key = - (!is_same_v>) && + (!is_same_v::type>) && __not_container_iterator<_Kt, _Container>; #endif