Ralf W. Grosse-Kunstleve
|
4a4087fdd5
|
Moving define PYBIND11_SMART_HOLDER_TYPE_CASTERS(T) down in the file. NO functional changes. Preparation for follow-up work (to keep that diff smaller).
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
d5b591d7f8
|
Making use of the new find_existing_python_instance() function factored out with PR #2822.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
c749d9b7fc
|
Adding tests/pure_cpp/CMakeLists.txt.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
d91f2190ee
|
Adding new header files to tests/extra_python_package/test_files.py.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
9077bcd1fc
|
Explicitly define copy/move constructors/assignments.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
63fe989148
|
Adding copyright notices to new header files.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
a15797d50e
|
CMake COMPARE NATURAL is not available with older versions.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
94eeb34b01
|
Reusing type_caster_base make_copy_constructor, make_move_constructor with a trick.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
56a71520b5
|
32-bit compatibility.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
eac5b49fe1
|
clang-tidy fixes.
|
2021-02-09 06:47:08 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
f19e80881c
|
Changing CMake file so that test_class_sh_module_local.py actually runs.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
505cd35c2b
|
Adding new tests to CMake config, resetting CI config.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
e1ac502890
|
Renaming new tests/core subdirectory to tests/pure_cpp.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
ef8a13c280
|
Renaming test_type_caster_bare_interface_demo to test_type_caster_bare_interface.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
edfe8bfd71
|
Systematically renaming tests to use "class_sh" in the name.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
bda4178163
|
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-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
e96c06e61a
|
Renaming files in include directory, creating pybind11/smart_holder.h.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
661eeb381c
|
Adding py::smart_holder support to py::class_, purging py::classh completely.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
23dc9b173c
|
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-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
2d463aa3b6
|
Purging obsolete pybind11/vptr_holder.h and associated test.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
d659a1411b
|
Removing debugging comments (GET_STACK, GET_INT_STACK). cast.h is identical to current master again, pybind11.h only has the generic_type::initialize(..., &type_caster_generic::local_load) change.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
c9cb661fe3
|
Converting test_unique_ptr_member to using classh: fully working, ASAN, MSAN, UBSAN clean.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
3d17f6f6a1
|
Using unique_ptr in local_load to replace static variable. Also adding local_load_safety_guard.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
631a288d69
|
Folding convert_type into lvalue_ref and rvalue_ref paths. Some smart_holder_type_caster_load cleanup.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
e7325dfc26
|
Factoring out convert_type and folding into loaded_as_unique_ptr.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
db9af62ad8
|
Cleaning up loaded_as_raw_ptr_unowned, loaded_as_shared_ptr.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
c30cc404c9
|
Removing rtti_held from smart_holder. See updated comment.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
0f82a0b014
|
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-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
11690b0b91
|
Moving const after type name, for functions that cover a systematic scheme. NO functional changes.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
de945f854a
|
Adopting systematic naming scheme from test_classh_wip. NO functional changes.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
235fa288b8
|
Pure renaming of function and variable names, for better generalization when convoluting with inheritance. NO functional changes.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
54fa191f20
|
Pure renaming of function names in test_classh_inheritance, similar to the systematic approach used in test_class_wip. NO functional changes.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
cbebb6da1f
|
Tests for classh py::module_local() feature.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
5608b71e09
|
Removing stray isinstance<T>(src): it interferes with the py::module_local feature. Adding missing #includes.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
c362b91a80
|
Minimal test covering classh_type_casters load_impl Case 2b.
|
2021-02-09 06:47:07 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
82f619bdb2
|
Changes and tests covering classh_type_casters try_implicit_casts.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
3d4bf091f3
|
Decoupling generic_type from type_caster_generic.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
e345db05bd
|
First pass adjusting try_implicit_casts and try_load_foreign_module_local to capture loaded_v_h, but untested and guarded with pybind11_failure("Untested"). This was done mainly to determine general feasibility. Note the TODO in pybind11.h, where type_caster_generic::local_load is currently hard-coded. test_classh_wip and test_classh_inheritance still pass, as before.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
383f7e9b84
|
Minimal changes needed to pass test_classh_inheritance.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
dc537a0013
|
Folding in modified_type_caster_generic_load_impl, just enough to pass test_class_wip. test_classh_inheritance is still failing, but with a different error: [RuntimeError: Incompatible type (as_raw_ptr_unowned).]
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
b568b354b7
|
Bringing back .clang-format, the previous rm was a bad idea.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
61327a17bc
|
Removing .clang-format before git rebase master (where the file was added).
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
4c7bb2612b
|
Adding test_classh_inheritance, currently failing (passes with class_).
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
d7efc9b8b1
|
Adding & using PYBIND11_CLASSH_TYPE_CASTERS define.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
1ef19a1e04
|
Using pybind11/detail/classh_type_casters.h from test_classh_wip.cpp.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
29414e6e95
|
Copying classh type_casters from test_classh_wip.cpp UNMODIFIED, as a baseline for generalizing the code.
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
2a7d41c193
|
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-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
bad7199a02
|
Factoring out find_existing_python_instance().
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
2f8e01748b
|
Adding minor comment (change to internals needed to distinguish uninitialized/disowned in error message).
|
2021-02-09 06:47:06 -08:00 |
|
Ralf W. Grosse-Kunstleve
|
a72e5f0c8f
|
Inserting additional assert to ensure a returned unique_ptr is always a new Python instance.
|
2021-02-09 06:47:06 -08:00 |
|