Skip to content

fix: emit SequenceAlloc::BufferTail for generated message sequences - #36

Open
rosterloh wants to merge 1 commit into
ros2-rust:mainfrom
rosterloh:fix/sequence-buffer-tail
Open

fix: emit SequenceAlloc::BufferTail for generated message sequences#36
rosterloh wants to merge 1 commit into
ros2-rust:mainfrom
rosterloh:fix/sequence-buffer-tail

Conversation

@rosterloh

Copy link
Copy Markdown

Pairs with the rosidl_runtime_rs change that adds the BufferTail associated type to SequenceAlloc (rosidl_buffer / ros2/rosidl#942). Message C sequences are not extended by #942, so generated message impls set type BufferTail = (); and stay 24 bytes, while primitive sequences carry the 32-byte buffer tail.

Refs: ros2-rust/ros2_rust#659, ros2/rosidl#942

Pairs with the rosidl_runtime_rs change adding the `SequenceLayout` trait
(`LayoutTail`) as a supertrait of `SequenceAlloc` (rosidl_buffer /
ros2/rosidl#942). Message C sequences keep the plain 3-field layout, so
generated message types implement `SequenceLayout` with `type LayoutTail = ();`
(primitive sequences carry the 32-byte buffer tail).

Refs ros2-rust/ros2_rust#659, ros2/rosidl#942
@rosterloh
rosterloh force-pushed the fix/sequence-buffer-tail branch from 85a1b70 to 5c0b9b5 Compare July 27, 2026 08:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant