]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: fix C++17 regression in concept __heterogeneous_key
authorNathan Myers <ncm@cantrip.org>
Fri, 6 Feb 2026 08:09:39 +0000 (03:09 -0500)
committerNathan Myers <ncm@cantrip.org>
Fri, 6 Feb 2026 08:25:21 +0000 (03:25 -0500)
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

index edbbfe11b96fa26feae2f211a2a0f9cc8b55a93c..657f40bca2eed442284facd3de05ae24dc39fb70 100644 (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