Skip to content

Commit 8efa00f

Browse files
authored
Small bugfix for sequences of WStrings (#240)
Message packages containing unbounded sequences of WStrings, like test_msgs, would not compile because of this.
1 parent e78e272 commit 8efa00f

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

rosidl_generator_rs/resource/msg_idiomatic.rs.em

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ impl rosidl_runtime_rs::Message for @(type_name) {
6767
@#
6868
@# == UnboundedSequence ==
6969
@[ elif isinstance(member.type, UnboundedSequence)]@
70-
@[ if isinstance(member.type.value_type, UnboundedString) or isinstance(member.type, UnboundedWString)]@
70+
@[ if isinstance(member.type.value_type, UnboundedString) or isinstance(member.type.value_type, UnboundedWString)]@
7171
@(get_rs_name(member.name)): msg.@(get_rs_name(member.name))
7272
.into_iter()
7373
.map(|elem| elem.as_str().into())
@@ -127,7 +127,7 @@ impl rosidl_runtime_rs::Message for @(type_name) {
127127
@#
128128
@# == UnboundedSequence ==
129129
@[ elif isinstance(member.type, UnboundedSequence)]@
130-
@[ if isinstance(member.type.value_type, UnboundedString) or isinstance(member.type, UnboundedWString)]@
130+
@[ if isinstance(member.type.value_type, UnboundedString) or isinstance(member.type.value_type, UnboundedWString)]@
131131
@(get_rs_name(member.name)): msg.@(get_rs_name(member.name))
132132
.iter()
133133
.map(|elem| elem.as_str().into())
@@ -183,7 +183,7 @@ impl rosidl_runtime_rs::Message for @(type_name) {
183183
@[ elif isinstance(member.type, UnboundedSequence)]@
184184
@(get_rs_name(member.name)): msg.@(get_rs_name(member.name))
185185
.into_iter()
186-
@[ if isinstance(member.type.value_type, UnboundedString) or isinstance(member.type, UnboundedWString)]@
186+
@[ if isinstance(member.type.value_type, UnboundedString) or isinstance(member.type.value_type, UnboundedWString)]@
187187
.map(|elem| elem.to_string())
188188
@[ elif isinstance(member.type.value_type, NamedType) or isinstance(member.type.value_type, NamespacedType)]@
189189
.map(@(get_idiomatic_rs_type(member.type.value_type))::from_rmw_message)

rosidl_generator_rs/rosidl_generator_rs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ def get_idiomatic_rs_type(type_):
295295
if isinstance(type_, UnboundedString) or isinstance(type_, UnboundedWString):
296296
return 'std::string::String'
297297
elif isinstance(type_, UnboundedSequence):
298-
return 'Vec::<{}>'.format(get_idiomatic_rs_type(type_.value_type))
298+
return 'Vec<{}>'.format(get_idiomatic_rs_type(type_.value_type))
299299
elif isinstance(type_, NamespacedType):
300300
return '::'.join(type_.namespaced_name()).replace(package_name, 'crate')
301301
elif isinstance(type_, Array):

0 commit comments

Comments
 (0)