Update pybind11 to version 2.12.0

Currently used branch was not interoperable with a standard version of pybind11.
This commit is contained in:
Robert Haschke 2024-05-29 15:19:09 +02:00
parent ad5c878f19
commit 8fa66a6d2c
3 changed files with 6 additions and 4 deletions

View File

@ -46,7 +46,7 @@ repos:
- id: catkin_lint
name: catkin_lint
description: Check package.xml and cmake files
entry: catkin_lint .
entry: catkin_lint . --ignore duplicate_cmd
language: system
always_run: true
pass_filenames: false

View File

@ -80,7 +80,9 @@ void setForwardedProperties(Stage& self, const py::object& names) {
void export_core(pybind11::module& m) {
/// translate InitStageException into InitStageError
static py::exception<InitStageException> init_stage_error(m, "InitStageError");
PYBIND11_CONSTINIT static py::gil_safe_call_once_and_store<py::object> exc_storage;
exc_storage.call_once_and_store_result([&]() { return py::exception<InitStageException>(m, "InitStageError"); });
/// provide extended error description for InitStageException
py::register_exception_translator([](std::exception_ptr p) { // NOLINT(performance-unnecessary-value-param)
try {
@ -89,7 +91,7 @@ void export_core(pybind11::module& m) {
} catch (const InitStageException& e) {
std::stringstream message;
message << e;
init_stage_error(message.str().c_str());
py::set_error(exc_storage.get_stored(), message.str().c_str());
}
});

@ -1 +1 @@
Subproject commit 4070a64f867c60842476f74a2212110ea5e05230
Subproject commit f4bc71f981d4eb2dd780215fd3c5a7420f1f03aa