#include 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: A(int value) : v{value} {}; int v; }; py::class_(m, "A") .def(py::init()) .def_readwrite("value", &A::v); m.def("internals_at", []() { return reinterpret_cast(&py::detail::get_internals()); }); }