2021-03-08 14:54:22 +00:00
|
|
|
#include <pybind11/pybind11.h>
|
|
|
|
|
|
|
|
namespace py = pybind11;
|
|
|
|
|
|
|
|
/* Simple test module/test class to check that the referenced internals data of external pybind11
|
|
|
|
* modules aren't preserved over a finalize/initialize.
|
|
|
|
*/
|
|
|
|
|
|
|
|
PYBIND11_MODULE(external_module, m) {
|
|
|
|
class A {
|
|
|
|
public:
|
2022-06-20 22:59:56 +00:00
|
|
|
explicit A(int value) : v{value} {};
|
2021-03-08 14:54:22 +00:00
|
|
|
int v;
|
|
|
|
};
|
|
|
|
|
2022-06-20 22:59:56 +00:00
|
|
|
py::class_<A>(m, "A").def(py::init<int>()).def_readwrite("value", &A::v);
|
2021-03-08 14:54:22 +00:00
|
|
|
|
2022-06-20 22:59:56 +00:00
|
|
|
m.def("internals_at",
|
|
|
|
[]() { return reinterpret_cast<uintptr_t>(&py::detail::get_internals()); });
|
2021-03-08 14:54:22 +00:00
|
|
|
}
|