1. 14 Apr, 2022 1 commit
    • Oleksandr Pavlyk's avatar
      Adds set_name method of pybind11::capsule class (#3866) · fa98804a
      Oleksandr Pavlyk authored
      * Adds set_name method of pybind11::capsule class
      
      This calls PyCapsule_SetName on the underlying capsule object.
      
      modified destructors to query capsules's Name
      
      [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      Handle possible exception thrown by PyCapsule_GetName
      
      Also removed accidentally reintroduced use of `const char *&`.
      
      [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      Fixed function name
      
      * Introduced private static function to reuse get_name_or_throw
      
      * added tests for capsule renaming
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * handle python error in flight
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      * Initialized PyObject * variables to nullptr
      
      * use write-unraisable if PyCapsule_GetName raises
      
      * [pre-commit.ci] auto fixes from pre-commit.com hooks
      
      for more information, see https://pre-commit.ci
      
      
      
      * get_name_or_throw->get_name_no_throw
      
      If PyCapsule_GetName raises an error we should write as unraisable
      to consume it and notify user, and then restore the error in flight if any.
      This way this method called from destructor would not modify interpreter
      error state.
      
      * used error_scope struct
      
      * Renamed get_name_no_throw->get_name_in_error_scope
      Co-authored-by: default avatarpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
      fa98804a
  2. 11 Apr, 2022 6 commits
  3. 05 Apr, 2022 1 commit
    • Aaron Gokaslan's avatar
      perf: Add more moves and optimize (#3845) · c4e29528
      Aaron Gokaslan authored
      * Make slice constructor consistent
      
      * Add more missing std::move for ref steals
      
      * Add missing perfect forwarding for arg_v ctor
      
      * Add missing move in arg_v constructor
      
      * Revert "Add missing move in arg_v constructor"
      
      This reverts commit 126fc7c524ea7a51b54720defd75de3470d69557.
      
      * Add another missing move in cast.h
      
      * Optimize object move ctor
      
      * Don't do useless move
      
      * Make move ctor same as nb
      
      * Make obj move ctor same as nb
      
      * Revert changes which break MSVC
      c4e29528
  4. 04 Apr, 2022 1 commit
  5. 01 Apr, 2022 1 commit
  6. 31 Mar, 2022 1 commit
  7. 28 Mar, 2022 1 commit
  8. 25 Mar, 2022 4 commits
  9. 24 Mar, 2022 1 commit
  10. 22 Mar, 2022 2 commits
  11. 18 Mar, 2022 1 commit
  12. 17 Mar, 2022 2 commits
  13. 15 Mar, 2022 1 commit
  14. 11 Mar, 2022 1 commit
  15. 10 Mar, 2022 1 commit
  16. 02 Mar, 2022 3 commits
  17. 01 Mar, 2022 3 commits
  18. 25 Feb, 2022 1 commit
  19. 23 Feb, 2022 2 commits
  20. 20 Feb, 2022 1 commit
  21. 18 Feb, 2022 1 commit
    • Peter Hawkins's avatar
      Fix exception handling when pybind11::weakref() fails. (#3739) · 44596bc4
      Peter Hawkins authored
      
      
      * Clear Python error state if pybind11::weakref() fails.
      
      The weakref() constructor calls pybind11_fail() without clearing any
      Python interpreter error state. If a client catches the C++ exception
      thrown by pybind11_fail(), the Python interpreter will be left in an
      error state.
      
      * Add test case for failing to create weakref
      
      * Add Debug asserts for pybind11 fail
      
      * Make error handling more pythonic
      
      * Does this fix PyPy?
      
      * Adapt test to PyPy differences
      
      * Simplify test to remove redundancy
      Co-authored-by: default avatarAaron Gokaslan <skylion.aaron@gmail.com>
      44596bc4
  22. 16 Feb, 2022 1 commit
    • Ralf W. Grosse-Kunstleve's avatar
      MSVC C++20 test_eigen (#3741) · 009ffc33
      Ralf W. Grosse-Kunstleve authored
      * Removing C++20 condition for MSVC is_template_base_of decltype workaround.
      
      * `-DDOWNLOAD_EIGEN=ON` for MSVC 2022 C++20
      
      * `-DDOWNLOAD_EIGEN=ON` for MSVC 2019 C++20
      
      * `-DPYBIND11_WERROR=OFF` for MSVC C++20 (2019, 2020)
      
      * Restoring `defined(PYBIND11_CPP20)` in common.h
      
      * pragma warning(disable : 5054) in eigen.h
      
      * Reverting `-DPYBIND11_WERROR=OFF` changes.
      009ffc33
  23. 15 Feb, 2022 3 commits