[all-commits] [llvm/llvm-project] 823e44: Reapply "[libc++] Refactor key extraction for __ha...

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Wed Aug 27 05:38:35 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 823e44401aafd7d3d5e5434dbd30284136ad9876
      https://github.com/llvm/llvm-project/commit/823e44401aafd7d3d5e5434dbd30284136ad9876
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-08-27 (Wed, 27 Aug 2025)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__fwd/tuple.h
    M libcxx/include/__hash_table
    M libcxx/include/__tree
    R libcxx/include/__type_traits/can_extract_key.h
    A libcxx/include/__utility/try_key_extraction.h
    M libcxx/include/map
    M libcxx/include/module.modulemap.in
    M libcxx/include/set
    M libcxx/include/tuple
    M libcxx/include/unordered_map
    M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
    M libcxx/test/std/containers/associative/set/emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp
    M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py

  Log Message:
  -----------
  Reapply "[libc++] Refactor key extraction for __hash_table and __tree (#154512)" (#155565)

The original PR has been reverted because of an LLDB test failure. This
patch now works around the test failure by simply allowing the new
symbols to show up in a stack trace.

This reverts commit 72c04bb882ad70230bce309c3013d9cc2c99e9a7.

Original commit message:

This patch replaces `__can_extract_key` with an overload set to try to
extract the key. This simplifies the code, since we don't need to have
separate overload sets for the unordered and associative containers. It
also allows extending the set of extraction cases more easily, since we
have a single place to define how the key is extracted.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list