- 18 Feb, 2021 1 commit
-
-
Ralf W. Grosse-Kunstleve committed
-
- 15 Feb, 2021 39 commits
-
-
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Splitting out smart_holder_type_casters again, into new detail/smart_holder_type_casters_inline_include.h.
Ralf W. Grosse-Kunstleve committed -
Systematically adding SMART_HOLDER_WIP tag. Removing minor UNTESTED tags (only the throw are not actually exercised, investing time there has a high cost but very little benefit).
Ralf W. Grosse-Kunstleve committed -
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Adding test_class_sh_factory_constructors.cpp to tests/CMakeLists.txt (fixes oversight, this should have been added long before).
Ralf W. Grosse-Kunstleve committed -
Adding construct() overloads for constructing smart_holder from alias unique_ptr, shared_ptr returns.
Ralf W. Grosse-Kunstleve committed -
Reverting commit 63495313 by un-commenting `const` in `def_buffer(...)`. To make this possible, `operator T const&` and `operator T const*` in `smart_holder_type_caster` need to be marked as `const` member functions.
Ralf W. Grosse-Kunstleve committed -
Ralf W. Grosse-Kunstleve committed
-
Removing unused smart_holder_type_caster_load::loaded_as_rvalue_ref (it was an oversight that it was not removed with commit 23036a45).
Ralf W. Grosse-Kunstleve committed -
Systematically changing std::enable_if back to detail::enable_if_t, effectively reverting commit 5d4b6890.
Ralf W. Grosse-Kunstleve committed -
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Systematically replacing `detail::enable_if_t<...smart_holder...>` with `typename std::enable_if<...smart_holder...>::type`. Attempt to work around MSVC 2015 issues, to be tested via GitHub CI. The idea for this change originates from this comment: https://github.com/pybind/pybind11/issues/1616#issuecomment-444536813
Ralf W. Grosse-Kunstleve committed -
Also removing `operator T()` from smart_holder_type_caster, to fix gcc compilation errors. The only loss is pass_rref in test_class_sh_basic.
Ralf W. Grosse-Kunstleve committed -
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Using @pytest.mark.parametrize to run each assert separately (to see all errors, not just the first).
Ralf W. Grosse-Kunstleve committed -
Ralf W. Grosse-Kunstleve committed
-
Ralf W. Grosse-Kunstleve committed
-
Fixing unfortunate editing mishap. This reverts the last remaining test manipulation in commit 249df7cb and makes all existing unit tests pass with smart_holder as default holder.
Ralf W. Grosse-Kunstleve committed -
Removing `operator T&&() &&` from smart_holder_type_caster, for compatibility with the behavior of type_caster_base. Enables reverting 2 of 3 test manipulations applied under commit 249df7cb. The manipulation in test_factory_constructors.py is NOT reverted in this commit. [skip ci]
Ralf W. Grosse-Kunstleve committed -
Adding copy constructor and move constructor tracking to atyp. Preparation for a follow-up change in smart_holder_type_caster, to make this test sensitive to the changing behavior. [skip ci]
Ralf W. Grosse-Kunstleve committed -
This version of the code is ASAN clean with unique_ptr or smart_holder as the default. This change needs to be reverted after adopting the existing move-only-if-refcount-is-1 logic used by type_caster_base.
Ralf W. Grosse-Kunstleve committed -
Ralf W. Grosse-Kunstleve committed
-
Adding return_value_policy::move to permissible policies for unique_ptr returns. New stats for all tests combined: 3 failed, 467 passed.
Ralf W. Grosse-Kunstleve committed -
Changing std::shared_ptr pointer/reference to const pointer/reference. New stats for all tests combined: 4 failed, 466 passed.
Ralf W. Grosse-Kunstleve committed -
Adding "Lazy allocation for unallocated values" (for old-style __init__) into load_value_and_holder. Deferring destruction of disowned holder until clear_instance, to remain inspectable for "uninitialized" or "disowned" detection. New stats for all tests combined: 5 failed, 465 passed.
Ralf W. Grosse-Kunstleve committed -
Adding unowned_void_ptr_from_direct_conversion to modified_type_caster_generic_load_impl. This fixes the last remaining segfault (test_numpy_dtypes). New stats for all tests combined: 12 failed, 458 passed.
Ralf W. Grosse-Kunstleve committed -
Bug fix: Adding have_value() to smart_holder_type_caster_load. With this test_builtin_casters succeeds. (All 42 tests build, 36 tests succeed, 5 run but have some failures, 1 segfault.)
Ralf W. Grosse-Kunstleve committed -
Introducing check_is_smart_holder_type_caster() function for runtime check, and reinterpreting record.default_holder as "uses_unique_ptr_holder". With this test_smart_ptr succeeds. (All 42 tests build, 35 tests succeed, 5 run but have some failures, 2 segfault.)
Ralf W. Grosse-Kunstleve committed -
Adding remaining PYBIND11_SMART_POINTER_HOLDER_TYPE_CASTERS. static_assert for "necessary conditions" for both types of default holder, static_assert for "strict conditions" guarded by new PYBIND11_STRICT_ASSERTS_CLASS_HOLDER_VS_TYPE_CASTER_MIX. All tests build & run as before with unique_ptr as the default holder, all tests build for smart_holder as the default holder, even with the strict static_assert.
Ralf W. Grosse-Kunstleve committed -
Adding PYBIND11_SMART_POINTER_HOLDER_TYPE_CASTERS in test_class.cpp (with this all but one test succeed with PYBIND11_USE_SMART_HOLDER_AS_DEFAULT).
Ralf W. Grosse-Kunstleve committed -
Softening static_assert, to only check specifically that smart_holder is not mixed with type_caster_base, and unique_ptr/shared_ptr holders are not mixed with smart_holder_type_casters.
Ralf W. Grosse-Kunstleve committed
-