From 762f67f61f9253d20defe5ef82b48b4c2785b8b2 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Thu, 25 Jul 2024 15:13:22 +0200 Subject: [PATCH] Fix: Return data from downcast function --- .../extensions/ros2-bridge/msg-gen/src/types/action.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/libraries/extensions/ros2-bridge/msg-gen/src/types/action.rs b/libraries/extensions/ros2-bridge/msg-gen/src/types/action.rs index df5fa5f0..b4b272bf 100644 --- a/libraries/extensions/ros2-bridge/msg-gen/src/types/action.rs +++ b/libraries/extensions/ros2-bridge/msg-gen/src/types/action.rs @@ -249,7 +249,7 @@ impl Action { #[namespace = #package_name] #[cxx_name = #cxx_downcast] - fn #downcast(self: &mut #client_name, event: CombinedEvent) -> Result<()>; + fn #downcast(self: &mut #client_name, event: CombinedEvent) -> Result<#result_type_raw>; }; let imp = quote! { @@ -374,7 +374,7 @@ impl Action { } #[allow(non_snake_case)] - fn #downcast(&self, event: crate::ffi::CombinedEvent) -> eyre::Result<()> { + fn #downcast(&self, event: crate::ffi::CombinedEvent) -> eyre::Result { use eyre::WrapErr; match (*event.event).0 { @@ -382,10 +382,9 @@ impl Action { let result = event.event.downcast::>() .map_err(|_| eyre::eyre!("downcast to {} failed", #result_type_raw_str))?; - let _data = result.with_context(|| format!("failed to receive {} response", #self_name_str)) + let data = result.with_context(|| format!("failed to receive {} response", #self_name_str)) .map_err(|e| eyre::eyre!("{e:?}"))?; - // Ok(data) - Ok(()) + Ok(data) }, _ => eyre::bail!("not a {} response event", #self_name_str), }