Commit Graph

643 Commits

Author SHA1 Message Date
Ralf W. Grosse-Kunstleve
95425f13d6 Introducing PYBIND11_USE_SMART_HOLDER_AS_DEFAULT macro (tested only undefined; there are many errors with the macro defined). 2021-01-29 14:18:21 -08:00
Ralf W. Grosse-Kunstleve
1c82275898 Adding comment, simplifying naming, cmake addition. 2021-01-29 14:18:21 -08:00
Ralf W. Grosse-Kunstleve
621b9230e4 Copying files as-is from branch test_unique_ptr_member (PR #2672). 2021-01-29 14:18:21 -08:00
Ralf W. Grosse-Kunstleve
c4aeb3ca26 Removing test_type_caster_bare_interface, which was moved to the separate PR #2834. 2021-01-29 14:15:24 -08:00
Ralf W. Grosse-Kunstleve
19021b6e1c Adding classu alias for class_<U, std::unique_ptr<U>>. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
bb6390f1a4 Replacing detail::is_smart_holder<H> in cast.h with detail::is_smart_holder_type_caster<T>.
Moving get_local_load_function_ptr, init_instance_for_type to smart_holder_type_caster_class_hooks.
Expanding static_assert in py::type::handle_of<> to accommodate smart_holder_type_casters.
2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
b00caae8ff Reintroducing py::classh, this time as a simple alias for py::class_<U, py::smart_holder>. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
40d49a5bf8 Adding tests/pure_cpp/CMakeLists.txt. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
0b266681b5 Adding new header files to tests/extra_python_package/test_files.py. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
7355e946f2 Explicitly define copy/move constructors/assignments. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
d8a5f1143f CMake COMPARE NATURAL is not available with older versions. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
6fbcee952a Changing CMake file so that test_class_sh_module_local.py actually runs. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
e6857d2623 Adding new tests to CMake config, resetting CI config. 2021-01-29 14:11:57 -08:00
Ralf W. Grosse-Kunstleve
21c6a67894 Renaming new tests/core subdirectory to tests/pure_cpp. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
817c174a43 Renaming test_type_caster_bare_interface_demo to test_type_caster_bare_interface. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
69f684671d Systematically renaming tests to use "class_sh" in the name. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
6b9f544df4 Renaming all "classh" to "smart_holder" in pybind11/detail/smart_holder_type_casters.h.
The user-facing macro is now PYBIND11_SMART_HOLDER_TYPE_CASTERS.
2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
7f67db974a Renaming files in include directory, creating pybind11/smart_holder.h. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
ab7d11f2d9 Adding py::smart_holder support to py::class_, purging py::classh completely. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
eb5678665f Moving several tests to github.com/rwgk/rwgk_tbx/tree/main/pybind11_tests
a2c2f88174

These tests are from experimenting, and for demonstrating UB in pybind11 multiple inheritance handling ("first_base"), to be fixed later.
2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
0dffc292a4 Purging obsolete pybind11/vptr_holder.h and associated test. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
d2807d895c Converting test_unique_ptr_member to using classh: fully working, ASAN, MSAN, UBSAN clean. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
01eb1904a5 Removing rtti_held from smart_holder. See updated comment. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
494331a67b Adding smart_holder_type_caster_load::loaded_as_shared_ptr, currently bypassing smart_holder shared_ptr tracking completely, but the tests pass and are sanitizer clean. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
3b6a20c398 Moving const after type name, for functions that cover a systematic scheme. NO functional changes. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
effda3e31a Adopting systematic naming scheme from test_classh_wip. NO functional changes. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
1d8c27d101 Pure renaming of function and variable names, for better generalization when convoluting with inheritance. NO functional changes. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
25b254574f Pure renaming of function names in test_classh_inheritance, similar to the systematic approach used in test_class_wip. NO functional changes. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
d5f92c7d25 Tests for classh py::module_local() feature. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
543a04ff18 Minimal test covering classh_type_casters load_impl Case 2b. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
98162ff356 Changes and tests covering classh_type_casters try_implicit_casts. 2021-01-29 14:11:56 -08:00
Ralf W. Grosse-Kunstleve
c29134cdf9 Adding test_classh_inheritance, currently failing (passes with class_). 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
238cc1222b Adding & using PYBIND11_CLASSH_TYPE_CASTERS define. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
1c6be1dc72 Using pybind11/detail/classh_type_casters.h from test_classh_wip.cpp. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
20fe4e9319 Moving factored-out make_constructor to test_classh_wip.cpp, restoring previous version of cast.h. This is currently the most practical approach. See PR #2798 for background. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
07fbe0f417 Factoring out find_existing_python_instance(). 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
d014eca1d8 Adding minor comment (change to internals needed to distinguish uninitialized/disowned in error message). 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
f21dac6b5b Inserting additional assert to ensure a returned unique_ptr is always a new Python instance. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
3ebb723146 Using factored-out make_constructor (PR #2798), removing duplicate code. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
f78ac3c911 Fixing clang-format oversight. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
e7e136b535 Using type_caster_base<mpty>::src_and_type directly, removing copy. Also renaming one cast to cast_const_raw_ptr, for clarity. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
71409b5624 Cosmetical change around helper functions. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
e26bd404c4 Calling deregister_instance after disowning via unique_ptr. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
4f135ce851 Making test_type_caster_bare_interface_demo.cpp slightly more realistic, ASAN, MSAN, UBSAN clean. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
1ac08dbc5e Fixing bugs discovered by ASAN. The code is now ASAN, MSAN, UBSAN clean. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
f47fe70bfc static handle cast implementations for rtrn_uqmp, rtrn_uqcp. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
60597f3db3 Adding MISSING comments in operator std::unique_ptr<mpty[ const]>. 2021-01-29 14:11:55 -08:00
Ralf W. Grosse-Kunstleve
034c95caf3 static handle cast implementations for rtrn_shmp, rtrn_shcp. 2021-01-29 14:11:54 -08:00
Ralf W. Grosse-Kunstleve
31838564e2 Pure clang-format change (applied to original type_caster_generic::cast). 2021-01-29 14:11:54 -08:00
Ralf W. Grosse-Kunstleve
783852aa22 Copying type_caster_generic::cast into type_caster<mpty> as-is (preparation for handling smart pointers). 2021-01-29 14:11:54 -08:00