Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use std::hash<std::type_index>, std::equal_to<std::type_index> everywhere **except when libc++ is in use** #4319

Merged
merged 29 commits into from
Apr 25, 2023

Commits on Nov 6, 2022

  1. Try using std::hash<std::type_index>, `std::equal_to<std::type_inde…

    …x>` everywhere.
    
    From PR pybind#4316 we know that types in the unnamed namespace in different translation units do not compare equal, as desired.
    
    But do types in named namespaces compare equal, as desired?
    Ralf W. Grosse-Kunstleve committed Nov 6, 2022
    Configuration menu
    Copy the full SHA
    a06949a View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2022

  1. Revert "Try using std::hash<std::type_index>, `std::equal_to<std::t…

    …ype_index>` everywhere."
    
    This reverts commit a06949a.
    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    9d70eba View commit details
    Browse the repository at this point in the history
  2. Use "our own name-based hash and equality functions" for `std::type_i…

    …ndex` only under macOS, based on results shown under pybind#4316 (comment)
    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    9141519 View commit details
    Browse the repository at this point in the history
  3. Patch in PR pybind#4313: Minimal reproducer for clash when binding ty…

    …pes defined in the unnamed namespace.
    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    ba747dc View commit details
    Browse the repository at this point in the history
  4. test_unnamed_namespace_b xfail for clang

    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    1912670 View commit details
    Browse the repository at this point in the history
  5. PYBIND11_INTERNALS_VERSION 5

    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    d8b7118 View commit details
    Browse the repository at this point in the history
  6. Add a note to docs/classes.rst

    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    780d3b2 View commit details
    Browse the repository at this point in the history
  7. For compatibility with Google-internal testing, test_unnamed_namespac…

    …e_a & test_unnamed_namespace_b need to work when imported in any order.
    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    3373b47 View commit details
    Browse the repository at this point in the history
  8. Trying "__GLIBCXX__ or Windows", based on observations from Google-in…

    …ternal testing.
    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    8f0c28e View commit details
    Browse the repository at this point in the history
  9. Try _LIBCPP_VERSION

    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    883cadf View commit details
    Browse the repository at this point in the history
  10. Account for libc++ behavior in tests and documentation.

    Ralf W. Grosse-Kunstleve committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    72a8895 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2022

  1. Adjust expectations for Windows Clang (and make code less redundant).

    Ralf W. Grosse-Kunstleve committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    6f1ddb2 View commit details
    Browse the repository at this point in the history
  2. Add WindowsClang to ci.yml

    Added block transferred from PR pybind#4321
    Ralf W. Grosse-Kunstleve committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    a1175ed View commit details
    Browse the repository at this point in the history
  3. Add clang-latest to name that appears in the GitHub Actions web view.

    Ralf W. Grosse-Kunstleve committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    5631d94 View commit details
    Browse the repository at this point in the history
  4. Tweak the note in classes.rst again.

    Ralf W. Grosse-Kunstleve committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    81a4e7b View commit details
    Browse the repository at this point in the history
  5. Add pip install --upgrade pip, Show env, cosmetic changes

    Already tested under PR pybind#4321
    Ralf W. Grosse-Kunstleve committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    7075e00 View commit details
    Browse the repository at this point in the history
  6. Add macos_brew_install_llvm to ci.yml

    Added block transferred from PR pybind#4324
    Ralf W. Grosse-Kunstleve committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    b84a163 View commit details
    Browse the repository at this point in the history
  7. test_cross_module_exception_translator xfail 'Homebrew Clang'

    Ralf W. Grosse-Kunstleve committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    4f06c06 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Revert back to base version of .github/workflows/ci.yml (the ci.yml c…

    …hanges were merged under pybind#4323 and pybind#4326)
    Ralf W. Grosse-Kunstleve committed Mar 20, 2023
    Configuration menu
    Copy the full SHA
    2180d04 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'master' into internals_std_type_index_modernization

    Ralf W. Grosse-Kunstleve committed Mar 20, 2023
    Configuration menu
    Copy the full SHA
    d2d2c0a View commit details
    Browse the repository at this point in the history
  3. Fixes for ruff

    Ralf W. Grosse-Kunstleve committed Mar 20, 2023
    Configuration menu
    Copy the full SHA
    b882060 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2023

  1. Merge branch 'master' into internals_std_type_index_modernization

    Ralf W. Grosse-Kunstleve committed Mar 28, 2023
    Configuration menu
    Copy the full SHA
    66e0fac View commit details
    Browse the repository at this point in the history
  2. Make updated condition in internals.h dependent on ABI version.

    Ralf W. Grosse-Kunstleve committed Mar 28, 2023
    Configuration menu
    Copy the full SHA
    f1c3055 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2023

  1. Merge branch 'master' into internals_std_type_index_modernization

    Ralf W. Grosse-Kunstleve committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    4842b9f View commit details
    Browse the repository at this point in the history
  2. Remove PYBIND11_TEST_OVERRIDE when testing with PYBIND11_INTERNALS_VE…

    …RSION=10000000
    Ralf W. Grosse-Kunstleve committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    0ff73a9 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2023

  1. Merge branch 'master' into internals_std_type_index_modernization

    Ralf W. Grosse-Kunstleve committed Apr 21, 2023
    Configuration menu
    Copy the full SHA
    9f60e9a View commit details
    Browse the repository at this point in the history
  2. Selectively exercise cmake -DPYBIND11_TEST_OVERRIDE: ubuntu, macos,…

    … windows
    
    Extra work added to quick jobs, based on timings below, to not increase the GHA start-to-last-job-finished time.
    
    ```
    Duration
    ^              Number of pytest runs
    ^              ^ Job identifier
    ^              ^ ^
    0:03:48.024227 1 1___3___Clang_3.6___C++11___x64.txt
    0:03:58.992814 1 2___3___Clang_3.7___C++11___x64.txt
    0:04:25.758942 1 1___3.7___Debian___x86____Install.txt
    0:04:50.148276 1 4___3___Clang_7___C++11___x64.txt
    0:04:55.784558 1 13___3___Clang_15___C++20___x64.txt
    0:04:57.048754 1 6___3___Clang_dev___C++11___x64.txt
    0:05:00.485181 1 7___3___Clang_5___C++14___x64.txt
    0:05:03.744964 1 2___3___almalinux8___x64.txt
    0:05:06.222752 1 5___3___Clang_9___C++11___x64.txt
    0:05:11.767022 1 2___3___GCC_7___C++17__x64.txt
    0:05:18.634930 1 2___3.11__deadsnakes____x64.txt
    0:05:22.810995 1 1___3___GCC_7___C++11__x64.txt
    0:05:25.275317 1 12___3___Clang_14___C++20___x64.txt
    0:05:32.058174 1 5___3___GCC_10___C++17__x64.txt
    0:05:39.381351 1 7___3___GCC_12___C++20__x64.txt
    0:05:40.502252 1 8___3___Clang_10___C++17___x64.txt
    0:05:59.344905 1 3___3___Clang_3.9___C++11___x64.txt
    0:06:10.825147 1 6___3___GCC_11___C++20__x64.txt
    0:06:20.655443 1 3___3___almalinux9___x64.txt
    0:06:22.472061 1 3___3___GCC_8___C++14__x64.txt
    0:06:42.647406 1 11___3___Clang_13___C++20___x64.txt
    0:06:53.352720 1 1___3.10___CUDA_11.7___Ubuntu_22.04.txt
    0:07:07.357801 1 2___3.7___MSVC_2019___x86_-DCMAKE_CXX_STANDARD=14.txt
    0:07:09.057603 1 1___3___centos7___x64.txt
    0:07:15.546282 1 1___3.8___MSVC_2019__Debug____x86_-DCMAKE_CXX_STANDARD=17.txt
    0:07:22.566022 1 4___3___GCC_8___C++17__x64.txt
    0:08:13.592674 1 2___3.9___MSVC_2019__Debug____x86_-DCMAKE_CXX_STANDARD=20.txt
    0:08:16.422768 1 9___3___Clang_11___C++20___x64.txt
    0:08:21.168457 1 3___3.8___MSVC_2019___x86_-DCMAKE_CXX_STANDARD=17.txt
    0:08:27.129468 1 10___3___Clang_12___C++20___x64.txt
    0:09:35.045470 1 1___3.10___windows-latest___clang-latest.txt
    0:09:57.361843 1 1___3.9___MSVC_2022_C++20___x64.txt
    0:10:35.187767 1 1___3.6___MSVC_2019___x86.txt
    0:11:14.691200 4 2___3.9___ubuntu-20.04___x64.txt
    0:11:37.701167 1 1_macos-latest___brew_install_llvm.txt
    0:11:38.688299 4 4___3.11___ubuntu-20.04___x64.txt
    0:11:52.720216 1 4___3.9___MSVC_2019___x86_-DCMAKE_CXX_STANDARD=20.txt
    0:13:23.456591 4 6___pypy-3.8___ubuntu-20.04___x64_-DPYBIND11_FINDPYTHON=ON.txt
    0:13:25.863592 2 1___3___ICC_latest___x64.txt
    0:13:32.411758 3 9___3.9___windows-2022___x64.txt
    0:13:45.473377 4 3___3.10___ubuntu-20.04___x64.txt
    0:13:55.366447 4 5___pypy-3.7___ubuntu-20.04___x64.txt
    0:13:57.969502 3 10___3.10___windows-2022___x64.txt
    0:14:19.837475 3 11___3.11___windows-2022___x64.txt
    0:14:33.316770 4 1___3.6___ubuntu-20.04___x64_-DPYBIND11_FINDPYTHON=ON_-DCMA.txt
    0:15:34.449278 4 22___3.6___windows-2019___x64_-DPYBIND11_FINDPYTHON=ON.txt
    0:16:25.189055 2 1___3.9-dbg__deadsnakes____Valgrind___x64.txt
    0:17:20.956667 4 15___3.6___macos-latest___x64.txt
    0:17:27.513891 4 23___3.9___windows-2019___x64.txt
    0:17:58.783286 3 8___3.6___windows-2022___x64.txt
    0:18:25.917828 4 7___pypy-3.9___ubuntu-20.04___x64.txt
    0:19:17.399820 3 13___pypy-3.8___windows-2022___x64.txt
    0:19:45.002122 3 12___pypy-3.7___windows-2022___x64.txt
    0:20:03.201926 4 16___3.9___macos-latest___x64.txt
    0:20:15.415178 4 17___3.10___macos-latest___x64.txt
    0:20:20.263216 4 20___pypy-3.8___macos-latest___x64.txt
    0:20:31.998226 3 1___3___windows-latest___mingw64.txt
    0:20:40.812286 4 18___3.11___macos-latest___x64.txt
    0:22:47.714749 4 19___pypy-3.7___macos-latest___x64.txt
    0:23:04.435859 3 2___3___windows-latest___mingw32.txt
    0:25:48.719597 3 14___pypy-3.9___windows-2022___x64.txt
    0:26:01.211688 4 21___pypy-3.9___macos-latest___x64.txt
    0:28:19.971015 1 1___3___CentOS7__PGI_22.9___x64.txt
    ```
    Ralf W. Grosse-Kunstleve committed Apr 21, 2023
    Configuration menu
    Copy the full SHA
    d0276c0 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2023

  1. Merge branch 'master' into internals_std_type_index_modernization

    Ralf W. Grosse-Kunstleve committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    4f4fd04 View commit details
    Browse the repository at this point in the history
  2. Update skipif for Python 3.12a7 (the WIP needs to be handled in a sep…

    …arate PR).
    Ralf W. Grosse-Kunstleve committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    1b4a508 View commit details
    Browse the repository at this point in the history