114299Sbbruce@ucdavis.edu#include <pybind11/pybind11.h> 214299Sbbruce@ucdavis.edu 314299Sbbruce@ucdavis.edunamespace py = pybind11; 414299Sbbruce@ucdavis.edu 514299Sbbruce@ucdavis.edu/* Simple test module/test class to check that the referenced internals data of external pybind11 614299Sbbruce@ucdavis.edu * modules aren't preserved over a finalize/initialize. 714299Sbbruce@ucdavis.edu */ 814299Sbbruce@ucdavis.edu 914299Sbbruce@ucdavis.eduPYBIND11_MODULE(external_module, m) { 1014299Sbbruce@ucdavis.edu class A { 1114299Sbbruce@ucdavis.edu public: 1214299Sbbruce@ucdavis.edu A(int value) : v{value} {}; 1314299Sbbruce@ucdavis.edu int v; 1414299Sbbruce@ucdavis.edu }; 1514299Sbbruce@ucdavis.edu 1614299Sbbruce@ucdavis.edu py::class_<A>(m, "A") 1714299Sbbruce@ucdavis.edu .def(py::init<int>()) 1814299Sbbruce@ucdavis.edu .def_readwrite("value", &A::v); 1914299Sbbruce@ucdavis.edu 2014299Sbbruce@ucdavis.edu m.def("internals_at", []() { 2114299Sbbruce@ucdavis.edu return reinterpret_cast<uintptr_t>(&py::detail::get_internals()); 2214299Sbbruce@ucdavis.edu }); 2314299Sbbruce@ucdavis.edu} 24