From b564b1622cfcad76cf54b24d5cb1d7ae21f75c93 Mon Sep 17 00:00:00 2001 From: ClaytonKnittel <35512940+ClaytonKnittel@users.noreply.github.com> Date: Mon, 22 Jun 2026 11:55:29 -0700 Subject: [PATCH] Cleanup: use proto DynamicCastMessage if available (#596) Signed-off-by: Clayton Knittel (cherry picked from commit c47393f57196cedbeb2996a2ec806043bfa849c2) --- core/include/gz/msgs/detail/dynamic_message_cast.hh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/include/gz/msgs/detail/dynamic_message_cast.hh b/core/include/gz/msgs/detail/dynamic_message_cast.hh index 56335858..106e41f7 100644 --- a/core/include/gz/msgs/detail/dynamic_message_cast.hh +++ b/core/include/gz/msgs/detail/dynamic_message_cast.hh @@ -30,7 +30,12 @@ template std::unique_ptr dynamic_message_cast(std::unique_ptr &&_baseMsg) { +#if GOOGLE_PROTOBUF_VERSION >= 5028000 + auto converted = std::unique_ptr{ + google::protobuf::DynamicCastMessage(_baseMsg.get())}; +#else auto converted = std::unique_ptr{dynamic_cast(_baseMsg.get())}; +#endif if (converted) { // transfer ownership to a new unique_ptr object by releasing from old one (void) _baseMsg.release();