Skip to content

Commit 4875f80

Browse files
committed
Fix use of serde
Signed-off-by: Michael X. Grey <[email protected]>
1 parent 3c706a2 commit 4875f80

File tree

11 files changed

+141
-227
lines changed

11 files changed

+141
-227
lines changed

.github/workflows/rust-minimal.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
components: clippy, rustfmt
6969

7070
# Colcon can not be run in a venv which is required in Ubuntu Noble
71-
# Removing the externally managed file
71+
# Removing the externally managed file
7272
- name: Install colcon-cargo and colcon-ros-cargo
7373
run: |
7474
sudo rm -f /usr/lib/python3.12/EXTERNALLY-MANAGED
@@ -117,9 +117,7 @@ jobs:
117117
echo "Running cargo test in $path"
118118
# Run cargo test for all features except use_ros_shim (needed for docs.rs)
119119
if [ "$(basename $path)" = "rclrs" ]; then
120-
cargo test -F default,dyn_msg
121-
elif [ "$(basename $path)" = "rosidl_runtime_rs" ]; then
122-
cargo test -F default
120+
cargo test -F default,dyn_msg,serde
123121
else
124122
cargo test --all-features
125123
fi

.github/workflows/rust-stable.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
components: clippy, rustfmt
6969

7070
# Colcon can not be run in a venv which is required in Ubuntu Noble
71-
# Removing the externally managed file
71+
# Removing the externally managed file
7272
- name: Install colcon-cargo and colcon-ros-cargo
7373
run: |
7474
sudo rm -f /usr/lib/python3.12/EXTERNALLY-MANAGED
@@ -117,9 +117,7 @@ jobs:
117117
echo "Running cargo test in $path"
118118
# Run cargo test for all features except use_ros_shim (needed for docs.rs)
119119
if [ "$(basename $path)" = "rclrs" ]; then
120-
cargo test -F default,dyn_msg
121-
elif [ "$(basename $path)" = "rosidl_runtime_rs" ]; then
122-
cargo test -F default
120+
cargo test -F default,dyn_msg,serde
123121
else
124122
cargo test --all-features
125123
fi

rclrs/src/client.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -567,8 +567,7 @@ unsafe impl Send for rcl_client_t {}
567567
#[cfg(test)]
568568
mod tests {
569569
use super::*;
570-
use crate::test_helpers::*;
571-
use crate::vendor::test_msgs;
570+
use crate::{test_helpers::*, vendor::test_msgs};
572571

573572
#[test]
574573
fn traits() {

rclrs/src/publisher.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,7 @@ mod tests {
344344

345345
#[test]
346346
fn test_publishers() -> Result<(), RclrsError> {
347-
use crate::vendor::test_msgs::msg;
348-
use crate::TopicEndpointInfo;
347+
use crate::{vendor::test_msgs::msg, TopicEndpointInfo};
349348

350349
let namespace = "/test_publishers_graph";
351350
let graph = construct_test_graph(namespace)?;

rclrs/src/publisher/loaned_message.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,7 @@ mod tests {
9898

9999
#[test]
100100
fn traits() {
101-
use crate::test_helpers::*;
102-
use crate::vendor::test_msgs;
101+
use crate::{test_helpers::*, vendor::test_msgs};
103102

104103
assert_send::<LoanedMessage<test_msgs::msg::rmw::BoundedSequences>>();
105104
assert_sync::<LoanedMessage<test_msgs::msg::rmw::BoundedSequences>>();

rclrs/src/service.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,8 +400,7 @@ mod tests {
400400

401401
#[test]
402402
fn test_services() -> Result<(), RclrsError> {
403-
use crate::vendor::test_msgs::srv;
404-
use crate::TopicNamesAndTypes;
403+
use crate::{vendor::test_msgs::srv, TopicNamesAndTypes};
405404

406405
let namespace = "/test_services_graph";
407406
let graph = construct_test_graph(namespace)?;

rclrs/src/subscription.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -411,8 +411,7 @@ impl Drop for SubscriptionHandle {
411411
#[cfg(test)]
412412
mod tests {
413413
use super::*;
414-
use crate::test_helpers::*;
415-
use crate::vendor::test_msgs::msg;
414+
use crate::{test_helpers::*, vendor::test_msgs::msg};
416415

417416
#[test]
418417
fn traits() {
@@ -523,8 +522,7 @@ mod tests {
523522

524523
#[test]
525524
fn test_delayed_subscription() {
526-
use crate::vendor::example_interfaces::msg::Empty;
527-
use crate::*;
525+
use crate::{vendor::example_interfaces::msg::Empty, *};
528526
use futures::{
529527
channel::{mpsc, oneshot},
530528
StreamExt,

rclrs/src/subscription/readonly_loaned_message.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ mod tests {
6060

6161
#[test]
6262
fn traits() {
63-
use crate::test_helpers::*;
64-
use crate::vendor::test_msgs;
63+
use crate::{test_helpers::*, vendor::test_msgs};
6564

6665
assert_send::<ReadOnlyLoanedMessage<test_msgs::msg::rmw::BoundedSequences>>();
6766
assert_sync::<ReadOnlyLoanedMessage<test_msgs::msg::rmw::BoundedSequences>>();

rclrs/src/vendor/example_interfaces/action.rs

Lines changed: 38 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -381,9 +381,6 @@ pub mod rmw {
381381
}
382382
}
383383

384-
#[cfg(feature = "serde")]
385-
use serde::{Deserialize, Serialize};
386-
387384
#[link(name = "example_interfaces__rosidl_typesupport_c")]
388385
extern "C" {
389386
fn rosidl_typesupport_c__get_message_type_support_handle__example_interfaces__action__Fibonacci_SendGoal_Request(
@@ -830,8 +827,7 @@ pub mod rmw {
830827

831828
impl rosidl_runtime_rs::Service for Fibonacci_GetResult {
832829
type Request = crate::vendor::example_interfaces::action::rmw::Fibonacci_GetResult_Request;
833-
type Response =
834-
crate::vendor::example_interfaces::action::rmw::Fibonacci_GetResult_Response;
830+
type Response = crate::vendor::example_interfaces::action::rmw::Fibonacci_GetResult_Response;
835831

836832
fn get_type_support() -> *const std::ffi::c_void {
837833
// SAFETY: No preconditions for this function.
@@ -973,42 +969,32 @@ impl rosidl_runtime_rs::Message for Fibonacci_FeedbackMessage {
973969
std::borrow::Cow::Owned(msg.goal_id),
974970
)
975971
.into_owned(),
976-
feedback:
977-
crate::vendor::example_interfaces::action::Fibonacci_Feedback::into_rmw_message(
978-
std::borrow::Cow::Owned(msg.feedback),
979-
)
980-
.into_owned(),
972+
feedback: crate::vendor::example_interfaces::action::Fibonacci_Feedback::into_rmw_message(
973+
std::borrow::Cow::Owned(msg.feedback),
974+
)
975+
.into_owned(),
981976
}),
982977
std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
983978
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::into_rmw_message(
984979
std::borrow::Cow::Borrowed(&msg.goal_id),
985980
)
986981
.into_owned(),
987-
feedback:
988-
crate::vendor::example_interfaces::action::Fibonacci_Feedback::into_rmw_message(
989-
std::borrow::Cow::Borrowed(&msg.feedback),
990-
)
991-
.into_owned(),
982+
feedback: crate::vendor::example_interfaces::action::Fibonacci_Feedback::into_rmw_message(
983+
std::borrow::Cow::Borrowed(&msg.feedback),
984+
)
985+
.into_owned(),
992986
}),
993987
}
994988
}
995989

996990
fn from_rmw_message(msg: Self::RmwMsg) -> Self {
997991
Self {
998-
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::from_rmw_message(
999-
msg.goal_id,
1000-
),
1001-
feedback:
1002-
crate::vendor::example_interfaces::action::Fibonacci_Feedback::from_rmw_message(
1003-
msg.feedback,
1004-
),
992+
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::from_rmw_message(msg.goal_id),
993+
feedback: crate::vendor::example_interfaces::action::Fibonacci_Feedback::from_rmw_message(msg.feedback),
1005994
}
1006995
}
1007996
}
1008997

1009-
#[cfg(feature = "serde")]
1010-
use serde::{Deserialize, Serialize};
1011-
1012998
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
1013999
#[derive(Clone, Debug, PartialEq, PartialOrd)]
10141000
pub struct Fibonacci_SendGoal_Request {
@@ -1034,32 +1020,28 @@ impl rosidl_runtime_rs::Message for Fibonacci_SendGoal_Request {
10341020
std::borrow::Cow::Owned(msg.goal_id),
10351021
)
10361022
.into_owned(),
1037-
goal: crate::vendor::example_interfaces::action::Fibonacci_Goal::into_rmw_message(
1038-
std::borrow::Cow::Owned(msg.goal),
1039-
)
1023+
goal: crate::vendor::example_interfaces::action::Fibonacci_Goal::into_rmw_message(std::borrow::Cow::Owned(
1024+
msg.goal,
1025+
))
10401026
.into_owned(),
10411027
}),
10421028
std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
10431029
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::into_rmw_message(
10441030
std::borrow::Cow::Borrowed(&msg.goal_id),
10451031
)
10461032
.into_owned(),
1047-
goal: crate::vendor::example_interfaces::action::Fibonacci_Goal::into_rmw_message(
1048-
std::borrow::Cow::Borrowed(&msg.goal),
1049-
)
1033+
goal: crate::vendor::example_interfaces::action::Fibonacci_Goal::into_rmw_message(std::borrow::Cow::Borrowed(
1034+
&msg.goal,
1035+
))
10501036
.into_owned(),
10511037
}),
10521038
}
10531039
}
10541040

10551041
fn from_rmw_message(msg: Self::RmwMsg) -> Self {
10561042
Self {
1057-
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::from_rmw_message(
1058-
msg.goal_id,
1059-
),
1060-
goal: crate::vendor::example_interfaces::action::Fibonacci_Goal::from_rmw_message(
1061-
msg.goal,
1062-
),
1043+
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::from_rmw_message(msg.goal_id),
1044+
goal: crate::vendor::example_interfaces::action::Fibonacci_Goal::from_rmw_message(msg.goal),
10631045
}
10641046
}
10651047
}
@@ -1086,16 +1068,16 @@ impl rosidl_runtime_rs::Message for Fibonacci_SendGoal_Response {
10861068
match msg_cow {
10871069
std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
10881070
accepted: msg.accepted,
1089-
stamp: crate::vendor::builtin_interfaces::msg::Time::into_rmw_message(
1090-
std::borrow::Cow::Owned(msg.stamp),
1091-
)
1071+
stamp: crate::vendor::builtin_interfaces::msg::Time::into_rmw_message(std::borrow::Cow::Owned(
1072+
msg.stamp,
1073+
))
10921074
.into_owned(),
10931075
}),
10941076
std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
10951077
accepted: msg.accepted,
1096-
stamp: crate::vendor::builtin_interfaces::msg::Time::into_rmw_message(
1097-
std::borrow::Cow::Borrowed(&msg.stamp),
1098-
)
1078+
stamp: crate::vendor::builtin_interfaces::msg::Time::into_rmw_message(std::borrow::Cow::Borrowed(
1079+
&msg.stamp,
1080+
))
10991081
.into_owned(),
11001082
}),
11011083
}
@@ -1145,9 +1127,7 @@ impl rosidl_runtime_rs::Message for Fibonacci_GetResult_Request {
11451127

11461128
fn from_rmw_message(msg: Self::RmwMsg) -> Self {
11471129
Self {
1148-
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::from_rmw_message(
1149-
msg.goal_id,
1150-
),
1130+
goal_id: crate::vendor::unique_identifier_msgs::msg::UUID::from_rmw_message(msg.goal_id),
11511131
}
11521132
}
11531133
}
@@ -1174,29 +1154,25 @@ impl rosidl_runtime_rs::Message for Fibonacci_GetResult_Response {
11741154
match msg_cow {
11751155
std::borrow::Cow::Owned(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
11761156
status: msg.status,
1177-
result:
1178-
crate::vendor::example_interfaces::action::Fibonacci_Result::into_rmw_message(
1179-
std::borrow::Cow::Owned(msg.result),
1180-
)
1181-
.into_owned(),
1157+
result: crate::vendor::example_interfaces::action::Fibonacci_Result::into_rmw_message(std::borrow::Cow::Owned(
1158+
msg.result,
1159+
))
1160+
.into_owned(),
11821161
}),
11831162
std::borrow::Cow::Borrowed(msg) => std::borrow::Cow::Owned(Self::RmwMsg {
11841163
status: msg.status,
1185-
result:
1186-
crate::vendor::example_interfaces::action::Fibonacci_Result::into_rmw_message(
1187-
std::borrow::Cow::Borrowed(&msg.result),
1188-
)
1189-
.into_owned(),
1164+
result: crate::vendor::example_interfaces::action::Fibonacci_Result::into_rmw_message(
1165+
std::borrow::Cow::Borrowed(&msg.result),
1166+
)
1167+
.into_owned(),
11901168
}),
11911169
}
11921170
}
11931171

11941172
fn from_rmw_message(msg: Self::RmwMsg) -> Self {
11951173
Self {
11961174
status: msg.status,
1197-
result: crate::vendor::example_interfaces::action::Fibonacci_Result::from_rmw_message(
1198-
msg.result,
1199-
),
1175+
result: crate::vendor::example_interfaces::action::Fibonacci_Result::from_rmw_message(msg.result),
12001176
}
12011177
}
12021178
}
@@ -1267,8 +1243,7 @@ impl rosidl_runtime_rs::Action for Fibonacci {
12671243

12681244
impl rosidl_runtime_rs::ActionImpl for Fibonacci {
12691245
type GoalStatusMessage = crate::vendor::action_msgs::msg::rmw::GoalStatusArray;
1270-
type FeedbackMessage =
1271-
crate::vendor::example_interfaces::action::rmw::Fibonacci_FeedbackMessage;
1246+
type FeedbackMessage = crate::vendor::example_interfaces::action::rmw::Fibonacci_FeedbackMessage;
12721247

12731248
type SendGoalService = crate::vendor::example_interfaces::action::rmw::Fibonacci_SendGoal;
12741249
type CancelGoalService = crate::vendor::action_msgs::srv::rmw::CancelGoal;
@@ -1319,8 +1294,7 @@ impl rosidl_runtime_rs::ActionImpl for Fibonacci {
13191294
goal_id: &[u8; 16],
13201295
feedback: crate::vendor::example_interfaces::action::rmw::Fibonacci_Feedback,
13211296
) -> crate::vendor::example_interfaces::action::rmw::Fibonacci_FeedbackMessage {
1322-
let mut message =
1323-
crate::vendor::example_interfaces::action::rmw::Fibonacci_FeedbackMessage::default();
1297+
let mut message = crate::vendor::example_interfaces::action::rmw::Fibonacci_FeedbackMessage::default();
13241298
message.goal_id.uuid = *goal_id;
13251299
message.feedback = feedback;
13261300
message
@@ -1356,10 +1330,7 @@ impl rosidl_runtime_rs::ActionImpl for Fibonacci {
13561330
status: i8,
13571331
result: crate::vendor::example_interfaces::action::rmw::Fibonacci_Result,
13581332
) -> crate::vendor::example_interfaces::action::rmw::Fibonacci_GetResult_Response {
1359-
crate::vendor::example_interfaces::action::rmw::Fibonacci_GetResult_Response {
1360-
status,
1361-
result,
1362-
}
1333+
crate::vendor::example_interfaces::action::rmw::Fibonacci_GetResult_Response { status, result }
13631334
}
13641335

13651336
fn get_result_response_result(

0 commit comments

Comments
 (0)