diff --git a/distros/jazzy/patch/ros2-moveit-task-constructor-core.win.patch b/distros/jazzy/patch/ros2-moveit-task-constructor-core.win.patch index d481bb0ad..4f60f2cd9 100644 --- a/distros/jazzy/patch/ros2-moveit-task-constructor-core.win.patch +++ b/distros/jazzy/patch/ros2-moveit-task-constructor-core.win.patch @@ -49,6 +49,87 @@ index 26c86ac..3d8eeb6 100644 # moveit.task_constructor pybind11_add_module(pymoveit_mtc +diff --git a/python/bindings/src/core.h b/python/bindings/src/core.h +index 7ab1437..8cd6e62 100644 +--- a/python/bindings/src/core.h ++++ b/python/bindings/src/core.h +@@ -51,35 +51,38 @@ namespace solvers { + class PlannerInterface; + } + +-template +-class PyStage : public Stage, public pybind11::trampoline_self_life_support ++// The template parameters used to be named after the classes they default to ++// (Stage, Generator, ...): MSVC then looks those names up as the namespace's ++// classes, not as the parameters (C3881 / C3210 on the inheriting constructors). ++template ++class PyStage : public T, public pybind11::trampoline_self_life_support + { + public: +- using Stage::Stage; ++ using T::T; + + void init(const moveit::core::RobotModelConstPtr& robot_model) override { +- PYBIND11_OVERRIDE(void, Stage, init, robot_model); ++ PYBIND11_OVERRIDE(void, T, init, robot_model); + } +- void reset() override { PYBIND11_OVERRIDE(void, Stage, reset, ); } ++ void reset() override { PYBIND11_OVERRIDE(void, T, reset, ); } + }; + +-template +-class PyGenerator : public PyStage ++template ++class PyGenerator : public PyStage + { + public: +- using PyStage::PyStage; +- bool canCompute() const override { PYBIND11_OVERRIDE_PURE(bool, Generator, canCompute, ); } +- void compute() override { PYBIND11_OVERRIDE_PURE(void, Generator, compute, ); } ++ using PyStage::PyStage; ++ bool canCompute() const override { PYBIND11_OVERRIDE_PURE(bool, T, canCompute, ); } ++ void compute() override { PYBIND11_OVERRIDE_PURE(void, T, compute, ); } + }; + +-template +-class PyMonitoringGenerator : public PyGenerator ++template ++class PyMonitoringGenerator : public PyGenerator + { + public: +- using PyGenerator::PyGenerator; ++ using PyGenerator::PyGenerator; + void onNewSolution(const SolutionBase& s) override { + // pass solution as pointer to trigger passing by reference +- PYBIND11_OVERRIDE_PURE(void, MonitoringGenerator, onNewSolution, &s); ++ PYBIND11_OVERRIDE_PURE(void, T, onNewSolution, &s); + } + }; + +@@ -91,18 +94,18 @@ public: + using MonitoringGenerator::onNewSolution; + }; + +-template +-class PyPropagatingEitherWay : public PyStage ++template ++class PyPropagatingEitherWay : public PyStage + { + public: +- using PyStage::PyStage; ++ using PyStage::PyStage; + void computeForward(const InterfaceState& from_state) override { + // pass InterfaceState as pointer to trigger passing by reference +- PYBIND11_OVERRIDE_PURE(void, PropagatingEitherWay, computeForward, &from_state); ++ PYBIND11_OVERRIDE_PURE(void, T, computeForward, &from_state); + } + void computeBackward(const InterfaceState& to_state) override { + // pass InterfaceState as pointer to trigger passing by reference +- PYBIND11_OVERRIDE_PURE(void, PropagatingEitherWay, computeBackward, &to_state); ++ PYBIND11_OVERRIDE_PURE(void, T, computeBackward, &to_state); + } + }; + diff --git a/python/bindings/src/properties.cpp b/python/bindings/src/properties.cpp index a96b292..1046149 100644 --- a/python/bindings/src/properties.cpp diff --git a/distros/jazzy/vinca.yaml b/distros/jazzy/vinca.yaml index 23543bea6..c3d036f6f 100644 --- a/distros/jazzy/vinca.yaml +++ b/distros/jazzy/vinca.yaml @@ -22,6 +22,11 @@ packages_exclude: # gone in Boost 1.89+ (patch/ros2-sick-safetyscanners-base.patch is for 1.0.3); jazzy # never built it - sick_safetyscanners2 + # POSIX sleep() and C++20 designated initializers in its tutorial code (MSVC C3861, + # C7555); no other distro builds it on Windows either + - if: win + then: + - moveit2_tutorials packages_select_by_deps: