https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115285
--- Comment #19 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-14 branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:6343a0fef382a6f37f50755beb239f4e1e9e83cb commit r14-11586-g6343a0fef382a6f37f50755beb239f4e1e9e83cb Author: François Dumont <frs.dum...@gmail.com> Date: Tue Oct 22 19:13:34 2024 +0200 libstdc++: Always instantiate key_type to compute hash code [PR115285] Even if it is possible to compute a hash code from the inserted arguments we need to instantiate the key_type to guaranty hash code consistency. Preserve the lazy instantiation of the mapped_type in the context of associative containers. libstdc++-v3/ChangeLog: PR libstdc++/115285 * include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a temporary key_type instance. * testsuite/23_containers/unordered_map/96088.cc: Adapt to additional instanciation. Also check that mapped_type is not instantiated when there is no insertion. * testsuite/23_containers/unordered_multimap/96088.cc: Adapt to additional instanciation. * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. * testsuite/23_containers/unordered_set/96088.cc: Likewise. * testsuite/23_containers/unordered_set/pr115285.cc: New test case. (cherry picked from commit ee030b28004eade3da872e7ae62a526a2940a705)